================================
©Copyright 蕃薯耀 2021-12-30
https://www.cnblogs.com/fanshuyao/
mysql-5.7.36-linux-glibc2.12-x86_64.tar.gz
建议使用root用户操作
rpm -qa | grep mariadb
示例:
[java@host-100 java]$ rpm -qa | grep mariadb
mariadb-libs-5.5.56-2.el7.x86_64
如果存在则删除mariadb,没则跳过。
下面为存在要删除:
yum -y remove mariadb-libs-5.5.56-2.el7.x86_64
(预先上传mysql安装包:mysql-5.7.36-linux-glibc2.12-x86_64.tar.gz,放在/java目录)
cd /java tar -zxvf mysql-5.7.36-linux-glibc2.12-x86_64.tar.gz
mv mysql-5.7.36-linux-glibc2.12-x86_64 mysql5.7
在/usr/local/目录下创建到/java/mysql5.7的软链接
(为什么创建软链接:因为/etc/rc.d/init.d/mysqld配置的路径是/usr/local/mysql)
cd /usr/local ln -s /java/mysql5.7 mysql
#该用户不能登录 useradd -s /bin/false -M mysql cd /java chown -R mysql:mysql mysql5.7
(根据自己的需要修改相应的文件路径)
#存放mysql数据的文件夹 mkdir -p /usr/local/mysql/data chown -R mysql:mysql /usr/local/mysql/data chmod -R 777 /usr/local/mysql/data touch /usr/local/mysql/mysql-error.log touch /usr/local/mysql/mysqld.pid touch /usr/local/mysql/mysql.sock chown -R mysql:mysql /usr/local/mysql/mysql-error.log chown -R mysql:mysql /usr/local/mysql/mysqld.pid chown -R mysql:mysql /usr/local/mysql/mysql.sock chmod 755 /usr/local/mysql/mysql-error.log chmod 755 /usr/local/mysql/mysqld.pid chmod 755 /usr/local/mysql/mysql.sock
vi /etc/my.cnf
/etc/my.cnf 文件内容:
[client] default-character-set =utf8mb4 socket=/usr/local/mysql/mysql.sock [mysqld] # MySQL服务端默认监听的TCP/IP端口 port = 3306 # 设置默认存储引擎为InnoDB default-storage-engine=InnoDB # MySQL服务端字符集 character-set-server=utf8mb4 # MySQL服务端字符集 collation_server = utf8mb4_general_ci # 库名、表名是否区分大小写。默认为0,设置1,不区分大小写,创建的表、数据库都以小写形式存放磁盘。 lower_case_table_names=1 # MySQL软件安装路径 basedir=/usr/local/mysql # MySQL数据文件存放路径 datadir=/usr/local/mysql/data # 用于本地连接的Unix套接字文件存放路径 socket=/usr/local/mysql/mysql.sock [mysql] default-character-set=utf8mb4 socket=/usr/local/mysql/mysql.sock [mysqld_safe] log-error=/usr/local/mysql/mysql-error.log pid-file=/usr/local/mysql/mysqld.pid
#保存文件 :wq
chown -R mysql:mysql /etc/my.cnf
1、进入Mysql bin目录:
cd /usr/local/mysql/bin/
2、初始化数据库:
./mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
此处注意,在初始化完成后,会出现mysql root用户的默认临时密码(temporary password):
临时密码:
2021-12-30T02:56:21.246302Z 1 [Note] A temporary password is generated for root@localhost: 5nb%Qqw9h=BF
5nb%Qqw9h=BF就是临时密码
Mysql设置启动服务,将mysql的启动程序mysql.server拷贝到/etc/init.d/目录下
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
设置Mysql开机启动:
/sbin/chkconfig mysqld on
查看自动启动服务:
chkconfig --list
示例:2、3、4、5要显示 “开”
[root@host-101 etc]# chkconfig --list 注:该输出结果只显示 SysV 服务,并不包含 原生 systemd 服务。SysV 配置数据 可能被原生 systemd 配置覆盖。 要列出 systemd 服务,请执行 'systemctl list-unit-files'。 查看在具体 target 启用的服务请执行 'systemctl list-dependencies [target]'。 mysqld 0:关 1:关 2:开 3:开 4:开 5:开 6:关
service mysqld start
重启mysql:此步可省略
service mysqld restart
编辑/etc/profile,方便在任何地方简短用mysql命令
vi /etc/profile
在文件的最后增加mysql环境变量
MYSQL_HOME=/usr/local/mysql PATH=$PATH:$MYSQL_HOME/bin export MYSQL_HOME PATH
让环境变量配置生效
source /etc/profile
开放端口(如:3306)
sudo firewall-cmd --zone=public --add-port=3306/tcp --permanent
移除端口:
sudo firewall-cmd --zone=public --remove-port=3306/tcp --permanent 或者 sudo firewall-cmd --permanent --remove-port=3306/tcp
让端口生效:
sudo firewall-cmd --reload
查看防火墙所有开放的端口
sudo firewall-cmd --zone=public --list-ports
mysql -uroot -p
提示输入密码时,复制刚才生成的临时密码粘贴,然后回车。
要选择一个数据库:
use mysql;
修改密码:
set password=password('root');
刷新权限:
flush privileges;
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION; flush privileges;
quit;
修改[mysqld]下的port(非[client]的port),如修改成2345,则是:
[mysqld] # MySQL服务端默认监听的TCP/IP端口 port = 2345
开放新端口:
firewall-cmd --zone=public --add-port=2345/tcp --permanent
如果之前有开放此端口,需要移除默认的3306端口:
firewall-cmd --zone=public --remove-port=3306/tcp --permanent
让端口生效:
firewall-cmd --reload
查看防火墙所有开放的端口
firewall-cmd --zone=public --list-ports
重启mysql:
service mysqld restart
reboot -f
ps -ef | grep mysql
(时间宝贵,分享不易,捐赠回馈,^_^)
================================
©Copyright 蕃薯耀 2021-12-30
https://www.cnblogs.com/fanshuyao/