CentOS7 yum安装MySQL5.7
安装MySQL:
1.检查是否已经存在mysql
rpm -qa | grep -i mysql
若存在,使用rpm -e packname –nodeps命令删除安装包
which mysql
查看mysql配置信息,删除对应的配置文件等信息!
删除mysql用户
userdel mysql
在CentOS中默认安装有MariaDB,这个是MySQL的分支,但为了需要,还是要在系统中安装MySQL,而且安装完成之后可以直接覆盖掉MariaDB。
2.下载安装用的Yum Repository,大概25KB的样子,然后就可以直接yum安装了。
wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
*手动: MySQL官网中下载YUM源rpm安装包:https://dev.mysql.com/downloads/repo/yum/
3.yum安装rpm(mysql源)
yum -y install mysql57-community-release-el7-10.noarch.rpm
4.查看当前可用的mysql安装资源:
yum repolist enabled | grep "mysql.*-community.*"
(可以修改vi /etc/yum.repos.d/mysql-community.repo源,改变默认安装的mysql版本。
比如要安装5.6版本,将5.7源的enabled=1改成enabled=0。然后再将5.6源的enabled=0改成enabled=1即可。)
5.安装mysql
yum -y install mysql-community-server
6.将mysql加入开机启动:
systemctl enable mysqld
7.启动mysql
systemctl start mysqld
systemctl daemon-reload
(或者: systemctl start mysqld.service
或者用service命令: service mysqld start)
查看mysql是否启动: ps aux | grep mysqld 或 pidof mysqld
查看mysql服务状态: service mysqld status
关闭mysql: service mysqld stop
8.mysql安装完成之后,会在/var/log/mysqld.log文件中给root生成一个默认密码。
通过下面的方式找到root默认密码,然后登录mysql进行修改:
grep 'temporary password' /var/log/mysqld.log
grep '[error]' /var/log/mysqld.log
9.修改基本信息配置
mysql_secure_installation
8.1.会提示临时密码已过期,修改密码新密码(需要长度>8, 大小写字母,数字,特殊字符)
(如果不需要密码策略, 在my.cnf中添加如下配置禁用: validate_password=off
并重启mysql服务使配置生效: systemctl|restart mysqld)
8.2 是否设置root用户密码: Set root password? y
8.3 是否删除匿名用户: Remove anonynous users? y
8.4 是否删除database数据库: Remove test database and access to it? n
8.5 是否重新加载授权信息: Reload priviliage tables now? y
8.6 All done!
10.添加远程登录用户
默认只允许root帐户在本地登录,如果要在其它机器上连接mysql,必须修改root允许远程连接,或者添加一个允许远程连接的帐户,为了安全起见,我添加一个新的帐户:
mysql> GRANT ALL PRIVILEGES ON *.* TO 'wxhd_user'@'%' IDENTIFIED BY 'Wxhd000000%' WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;
(*注意此处,要在阿里云的实例中,把3306端口添加到安全组,要不然用SQLYog连接不上,而且需要用frank用户连接)
11.修改用户密码:
alter user 'root'@'localhost' IDENTIFIED BY 'myNewPassword'
或set password for 'root'@'localhost'=passwword('myNewPassword')
12.配置默认编码为utf8
修改/etc/my.cnf配置文件,在[mysqld]下添加编码配置,如下所示:
[client]
default-character-set = utf8mb4
[mysql]
default-character-set = utf8mb4
[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
#collation-server = utf8mb4_unicode_ci #如果用utf8mb4_general_ci则不用配置,否则会启动失败! 真是坑!
init_connect='SET NAMES utf8mb4'
重新启动mysql服务,查看数据库默认编码:
show variables like '%character%';
修改字符集:
vim /etc/my.cnf
以下是默认配置文件的路径:
配置文件:/etc/my.cnf
日志文件:/var/log//var/log/mysqld.log
服务启动脚本:/usr/lib/systemd/system/mysqld.service
socket文件:/var/run/mysqld/mysqld.pid
13.操作mysql
执行sql脚本,使用source命令: source /root/MySQLCrashCourse/create.sql;