因为使用yum的库,太多依赖解决不了,所以使用压缩包版本来安装Mysql
-
因为centos系统自带了一个mysql,但是版本非常低,是5.1的,所以先卸载
- 通过 yum list installed 列出所有已安装的文件
- 找到要删除的文件后,yum remove [文件名] 就可以移除
下载压缩包
以下是官方安装方式,#号的是说明
shell> groupadd mysql # 添加一个mysql 组
shell> useradd -r -g mysql -s /bin/false mysql # 添加一个mysql 用户
shell> tar zxvf mysql-5.7.19-linux-glibc2.12-x86_64.tar.gz # 进入下载的文件所在的目录,然后进行解压
shell> ln -s /mysql解压文件夹/ /usr/local mysql # 做一个快捷方式到/usr/local 文件夹
shell> cd mysql
shell> mkdir mysql-files #创建一个mysql-files文件
shell> chmod 750 mysql-files # 赋予文件夹权限
shell> chown -R mysql . # 赋予文件夹权限 注意有一个 .
shell> chgrp -R mysql . # 赋予文件夹权限
shell> bin/mysql_install_db --user=mysql # MySQL 5.7.5 使用这句
shell> bin/mysqld --initialize --user=mysql # MySQL 5.7.6 之后的使用这句, 这里需要注意,这里涉及到了创建密码的两种方式,--initialize --user=mysql是以随机密码登陆,--initialize-insecure --user=mysql是无密码登陆,然后再创建密码
shell> bin/mysql_ssl_rsa_setup # MySQL 5.7.6 之后的使用这句
shell> chown -R root . # 赋予文件夹权限
shell> chown -R mysql data mysql-files # 赋予文件夹权限 这里注意,需要创建一个data文件夹,否则报错 mkdir data
shell> bin/mysqld_safe --user=mysql & # 因为这样安装的mysql是没有密码的,所以安全模式启动 mysql
# Next command is optional
shell> cp support-files/mysql.server /etc/init.d/mysql.server
- 创建一个密码
mysql初始化的时候有两种选择,一种是以无密码的方式初始化
shell> bin/mysqld --initialize-insecure --user=mysql
登陆的时候使用
shell> mysql -u root --skip-password
另一种是随机密码的方式初始化
shell> bin/mysqld --initialize --user=mysql
这个时候初始化的时候,会在 日志 文件中生产一个密码
[Warning] A temporary password is generated for root@localhost:iTag*AfrH5ej
日志的位置取决于 my.cnf 文件中的配置
登陆的时候使用
shell> mysql -u root -p # 然后输入随机密码
- 修改密码
登陆之后就可以修改密码了
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
-
遇到的坑
- 登陆的时候报 无法链接 temp/mysql.sock, 这里是 my.cnf 文件配置有问题,修改 my.cnf 文件
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
[client]
port=3306
socket=/var/lib/mysql/mysql.sock # 这个路径不要错,如果不知道在哪里,可以通过 find /var -name mysql.sock 来查找