centos版本
首先,交待一下我用的是阿里云centos 7.6 64位 系统
下载和添加仓库
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
sudo rpm -ivh mysql-community-release-el7-5.noarch.rpm
安装、启动MySql
yum install mysql-server
systemctl start mysqld
配置mysql
运行如下脚本文件
mysql_secure_installation
提示输入root密码,初始为null,回车就可以设置root密码了
之后提示一连串的问题,根据需要自己选择y 或者 n吧
连接MySql
mysql -uroot -p
查看MySql的编码并修改 (这一步的目的是把latin1变称utf8,防止中文乱码)
查看mysql的编码
mysql>show variables like '%character%';
可以看到database和server编码都为latin1,我们修改为utf8
ctrl + c
退出mysql命令
修改mysql配置文件
vi /etc/my.cnf
在文件中添加这段代码:
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
character-set-server=utf8
按ESC键 跳到命令模式 ,然后:
:wq! 强制保存文件,并退出vi
重启mysql服务
systemctl restart mysql.service
允许远程登录
用root用户登录mysql
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root';
FLUSH PRIVILEGES;
开放3306端口
systemctl start firewalld
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload
阿里云安全组配置3306端口
Navicat报错(access denied for user...)
可能是因为没有授权root用户在 其他ip 登录, 所以报错
在mysql里输入(把 youpassword 改成你自己的数据库密码)
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'youpassword' WITH GRANT OPTION;