# Linux下MySQL的安装与配置
MySQL版本:5.7
下载地址:https://www.mysql.com/downloads/
#1.先查看主机是否已安装mysql(linux默认已安装mysql) ##
`yum list mysql*`
`rpm -qa mysql*`
#2.删除已安装的mysql ##
`yum remove mysql*`
`rpm -e mysql*`
#3.创建文件夹/usr/local/mysql,并进入 ##
`mkdir /usr/local/mysql`
`cd /usr/local/mysql`
#4.下载官网的mysql的yum源 ##
使用wget ,在linux上下载(没有wget的,使用 `yum -y install wget`安装wget)
下载命令:`wget https://repo.mysql.com//mysql80-community-release-el6-1.noarch.rpm`
#5.使用下载的yum源升级yum包 ##
`rpm -Uvh mysql80-community-release-el6-1.noarch.rpm `
#6.查看可以使用的mysql版本 ##
`yum repolist all | grep mysql `
#7.将自己需要的版本改成enabled ##
通过修改 /etc/yum.repos.d/mysql-community.repo 来实现
`vi /etc/yum.repos.d/mysql-community.repo`
找到需要的版本号,将 enabled=0 改成 enabled=1 ,将其他版本的 enabled=1 改成 enabled=0
这里只修改版本中的enabled,否则安装会出错 (只把8.0的改成enabled=0 ,5.7的改成enabled=1)
[图片丢失]
如果url中是6,需改为7,否则安装会出错
baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/6/$basearch/
baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/7/$basearch/
`wq!`
保存退出,再次执行yum repolist enabled | grep mysql可以看到修改的结果
#8.安装mysql-community-server
`yum -y install mysql-community-server`
(遇到报错如下:)
[图片丢失]
解决办法:配置yum源,更新yum缓存
1)下载repo文件
`wget http://mirrors.aliyun.com/repo/Centos-7.repo`
2)备份并替换系统的repo文件
`cp Centos-7.repo /etc/yum.repos.d/ `
`cd /etc/yum.repos.d/ `
`mv CentOS-Base.repo CentOS-Base.repo.bak`
`mv Centos-7.repo CentOS-Base.repo (区分大小写)`
3)执行yum源更新命令
`yum clean all `
`yum makecache `
`yum update`
配置完毕。
重新执行安装命令: `yum -y install mysql-community-server`
执行过程未报错,安装成功
#9.mysql命令
启动:`systemctl start mysqld`
状态:`systemctl status mysqld`
关闭:`systemctl stop mysqld`
#10.修改密码
shell:`mysql -u root -p`
刚安装的mysql,密码默认不为空,无法登陆
查看默认密码:`grep 'temporary password' /var/log/mysqld.log`
用默认密码登录
修改默认密码:`SET PASSWORD = PASSWORD('123456');`
#11.设置允许root账户进行远程连接
mysql> `GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;`
mysql> `flush privileges;`
第一句中”%”表示任何主机都可以远程登录到该服务器上访问。如果要限制只有某台机器可以访问,将其换成相应的IP即可,如:
GRANT ALL PRIVILEGES ON . TO root@”192.168.18.43” IDENTIFIED BY “123456”;
123@asdf是登录密码。
第二句表示从mysql数据库的grant表中重新加载权限数据。因为MySQL把权限都放在了cache中,所以在做完更改后需要重新加载。
#12.修改字符集编码 UTF-8
`show variables like 'char%';`
检测是否都是utf-8(filesystem除外),如果不是就得改
修改编码,先停数据库
`systemctl stop mysqld`
进入 my.cnf 文件,一般是在etc路径下
`vim /etc/my.cnf`
加入要修改的字符集 修改完:wq退出
在[mysqld]下追加:
`character-set-server=utf8`
重启数据库
`systemctl start mysqld`
#13.查看mysql运行日志:
`vi /var/log/mysqld.log`