## 1.下载文件
下载地址:https://www.mysql.com/downloads/
## 2.解压压缩包
```
tar -zxvf mysql压缩包
```
## 3.复制mysql解压包到安装目录
```
mv mysql解压包目录 /usr/local/mysql
```
## 4.添加mysql用户组及添加用户
```
//添加用户组myql
groupadd mysql
//将用户添加到用户组
useradd -r -g mysql mysql
//useradd -r参数表示mysql用户是系统用户,不可用于登录系统
```
## 5.在mysql下添加data目录
```
mkdir data
```
## 6.安装mysql(此处会生产密码)
```
//进入安装mysql软件目录
cd /usr/local/mysql
//修改当前目录拥有者为mysql用户
chown -R mysql:mysql ./
//安装数据库
//进入目录
cd bin
//执行安装命令
./mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/ --lc_messages_dir=/usr/local/mysql/share --lc_messages=en_US
//退出到mysql目录下
cd -
//修改当前目录拥有者为root用户
chown -R root:root ./
//修改当前data目录拥有者为mysql用户
chown -R mysql:mysql data
```
## 7.配置my.cnf
```
cp -a ./support-files/my-default.cnf /etc/my.cnf
//在/etc/目录下创建my.cnf,并写入以下内容
#[mysql]
#basedir=/usr/local/mysql/
#datadir=/usr/local/mysql/data/
```
## 8.启动服务
```
[root@dbserver mysql]# cd bin/
[root@dbserver bin]# ./mysqld_safe --user=mysql &
//停止程序命令(不需要)
/bin/mysqladmin -u root -p
(注意此时的root是指mysql的root用户)
```
## 9.设置mysql以服务运行并且开机启动
```
[root@dbserver support-files]# cp mysql.server /etc/init.d/mysql
[root@dbserver support-files]# chmod +x /etc/init.d/mysql
-- 把mysql注册为开机启动的服务
[root@dbserver support-files]# chkconfig --add mysql
-- 查看是否添加成功
[root@dbserver support-files]# chkconfig --list mysql
```
## 10.启动服务
```
[root@dbserver bin]# service mysql start
//若有问题,执行如下命令
[root@dbserver mysql]# rm /etc/my.cnf
[root@dbserver mysql]# /etc/init.d/mysql start
```
## 11.登录 mysql
```
[root@dbserver bin]# ./mysql -u root -p
密码是第八步产生的密码
```
## 12.设置密码
```
set password=password("root");
```
## 13.异常:
```
用Navicat for mysql连接数据库测试下连接 如果出现1130错误
```
```
//是无法给远程连接的用户权限问题,解决方法如下:
1、先用use mysql;进入名字为mysql的数据库;
2、mysql>update user set host='%' where host='localhost' and user='root';
3、mysql>flush privileges;
4、使用查询语句查看是否修改过来:mysql>select host,user from user;
结果中若有,host为“%”的root用户,则直接在SQLyog客户端重新连接,就会连接成功,问题解决
```
## 14 创建新用户、并授权
```
//创建用户
CREATE USER 'lingdu'@'%' IDENTIFIED BY '123456';
//授权
GRANT ALL ON *.* TO 'lingdu'@'%';
//更新权限属性
flush privileges;
```
补充:
## 15 5.7修改密码后没有password列,若要修改密码,命令如下:
```
update user set authentication_string = password("mysql") where user='root';
//更新权限属性
flush privileges;
```