1、在home目录下新建db文件夹
2、将数据库压缩包文件拷贝至该文件夹内
3、cd /home/db
4、tar -xvf mysql-8.0.28-linux-glibc2.12-x86_64.tar.xz
(解压后的文件名如果不是mysql请将文件夹名称修改为mysql)
5、mv mysql-8.0.28-linux-glibc2.12-x86_64 mysql
6、cd mysql
7、mkdir data
8、groupadd mysql
9、useradd -g mysql mysql
10、chown -R mysql.mysql /home/db/mysql/
11、vim /etc/my.cnf 【建议使用winscp/XFTP编辑】
在[mysqld]下面添加
bind-address=0.0.0.0
port=3306
user=mysql
basedir=/home/db/mysql
datadir=/home/db/mysql/data
socket=/home/db/mysql/data/mysql.sock
lower_case_table_names=1
[client]
port=3306
socket=/home/db/mysql/data/mysql.sock
【上面这些内容请放到【mysqld】到#Disabling中间,中间如果存在文本不用保留用上面的覆盖掉】
【一个小坑:# Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0
这句话默认可能是换行的,记得把他们弄在一行不然后面会报错】
12、cd bin
13、./mysqld --defaults-file=/etc/my.cnf --basedir=/home/db/mysql/ --datadir=/home/db/mysql/data/ --user=mysql --initialize
【此步骤结束之后最后会抛出mysql默认密码,务必保存下来,后面改密码得用到,不然很麻烦】
14、cp /home/db/mysql/support-files/mysql.server /etc/init.d/mysql
15、cd /home/db/mysql
16、chkconfig --add mysql
17、chkconfig --list mysql
18、mkdir /var/log/mariadb
19、touch /var/log/mariadb/mariadb.log
20、chown -R mysql /var/log/mariadb/
21、./support-files/mysql.server start
22、ps -ef|grep mysql
23、netstat -lnp|grep 3306
24、cd bin
25、./mysql -u root -p 【用到之前存的默认密码登陆】
26、ALTER USER 'root'@'localhost' IDENTIFIED BY 'xxxx';
27、flush privileges;
28、use mysql
29、select host,user from user;
30、flush privileges;
31、update user set host='%' where user='root';
32、flush privileges;
exit
【将3306端口添加到防火墙】
1、systemctl start firewalld
2、firewall-cmd --zone=public --list-ports
3、firewall-cmd --zone=public --add-port=3306/tcp --permanent
4、firewall-cmd --reload
5、firewall-cmd --zone=public --add-port=3306/tcp --permanent
(3306端口已经开启,但还是报这个错,如果你用的是阿里/腾讯云服务器,请将3306端口加入到你的阿里云/腾讯云服务器防火墙的入栈规则里面!!!!)
(3306端口已经开启,但还是报这个错,如果你用的是阿里/腾讯云服务器,请将3306端口加入到你的阿里云/腾讯云服务器防火墙的入栈规则里面!!!!)
(3306端口已经开启,但还是报这个错,如果你用的是阿里/腾讯云服务器,请将3306端口加入到你的阿里云/腾讯云服务器防火墙的入栈规则里面!!!!)
【远程连接不上报错 "Host 'xxxx' is not allowed to connect to this MySQL server"】
1、cd /home/db/mysql/bin
2、./mysql -u root -p
3、use mysql
4、update user set host='%' where user='root';
5、flush privileges;
exit
6、此时navicate便可以连接上了