YUM安装mysql
下载
wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm
安装rpm
yum localinstall mysql57-community-release-el7-8.noarch.rpm
检查
yum repolist enabled | grep "mysql.*-community.*"
输出结果:
安装mysql服务
yum install -y mysql-community-server
启动MySQL服务
systemctl start mysqld
查看MySQL的启动状态
systemctl status mysqld
输出
mysqld.service - MySQL Server
Loaded: loaded (/usr/lib/systemd/system/mysqld.service; disabled; vendor preset: disabled)
Active: active (running) since 五 2016-06-24 04:37:37 CST; 35min ago
Main PID: 2888 (mysqld)
CGroup: /system.slice/mysqld.service
└─2888 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid
6月 24 04:37:36 localhost.localdomain systemd[1]: Starting MySQL Server...
6月 24 04:37:37 localhost.localdomain systemd[1]: Started MySQL Server.
开机启动
systemctl enable mysqld
systemctl daemon-reload
修改root默认密码
安装完成之后,在/var/log/mysqld.log文件中给root生成了一个默认密码。
查看默认密码
grep 'temporary password' /var/log/mysqld.log
输出
其中 Q2>r4=l-DWIP 就是我的默认密码
用默认密码登录
mysql -uroot -p
Enter password: Q2>r4=l-DWIP
修改默认密码
mysql> SET PASSWORD = PASSWORD('root');
允许root远程登录
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123@asdf' WITH GRANT OPTION;
mysql> flush privileges;
第一句中”%”表示任何主机都可以远程登录到该服务器上访问。如果要限制只有某台机器可以访问,将其换成相应的IP即可,如:
GRANT ALL PRIVILEGES ON . TO root@”172.168.193.25” IDENTIFIED BY “123@asdf”;
123@asdf是登录密码。
第二句表示从mysql数据库的grant表中重新加载权限数据。因为MySQL把权限都放在了cache中,所以在做完更改后需要重新加载。
注意
- 具体生产环境根据自己的配置需要再进行配置。
- 阿里云云服务器如果MySQL配置了远程访问还是无法访问,可能是阿里云默认是不开放3306端口的。可以去阿里云的控制台修改网络配置。
修改字符集编码 UTF-8
show variables like 'char%'
检测是否都是utf-8(filesystem除外),如果不是就得改,例如这个character_set_server一般是拉丁编码
修改编码
停数据库
//
systemctl stop mysqld
进入 my.cnf 文件,一般是在etc路径下
vim /etc/my.cnf
在[mysqld]下追加:
character-set-server=utf8
在[mysql]下追加:
default-character-set=utf8
加入要修改的字符集 修改完:wq退出
重启数据库
systemctl start mysqld
mysql启动后访问不了
一般情况是因为linux没有开放端口
如果开启了 firewall 则添加3306端口
firewall-cmd --permanent --add-port=3306/tcp
firewall-cmd --reload
systemctl restart firewalld.service
如果不需要防火墙,直接关闭
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动