目录:
- 安装流程
- linux mysql 操作命令
- 注意:
- mysql5.7和mysql8.0的创建用户和授权命令有所变化
- 通过yum安装mysql会更香,通过yum安装如何指定版本?
一.安装流程:
- 在安装过程中可能会报libaio缺失,所以提前安装:yum install libaio
- 1在官网上下载mysql-5.7.22-linux,我下载的是mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz,https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz,centos7/64位。
- 解压tar -zxvf mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz
- 移动目录mv mysql-5.7.22-linux-glibc2.12-x86_64 /usr/local/mysql/mysql-5.7.22
- 创建用户组和用户
groupadd mysql
useradd -r -g mysql -s /bin/false mysql
chown -R mysql:mysql mysql - 安装mysql
bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/mysql-5.7.22/ --datadir=/usr/local/mysql/mysql-5.7.22/data --lc_messages_dir=/usr/local/mysql/mysql-5.7.22/share --lc_messages=en_US
注意重点记录最后生成的登录密码 - 修改配置
bin/mysql_ssl_rsa_setup --datadir=/usr/local/mysql/mysql-5.7.22/data
vi /etc/my.cnf
cat /etc/my.cnf 修改结果:
[mysqld]
basedir=/usr/local/mysql/mysql-5.7.22
datadir=/usr/local/mysql/mysql-5.7.22/data/ - 配置环境变量
vi ~/.bash_profile
将mysql的bin目录配置到环境变量中
PATH=$PATH:$HOME/bin:/usr/local/mysql/mysql-5.7.22/bin
export PATH - 开启
- 修改密码
mysql -uroot -p
set password=password("新密码"); - 配置远程访问
use mysql
update user set host='%' where user='root';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '......' WITH GRANT OPTION;(或者是:grant all privileges on *.* to root@'%' identified by "你的新密码";)
FLUSH PRIVILEGES; - 设置开机自启
cd /usr/local/mysql/mysql-5.7.22/support-files
cp mysql.server /etc/init.d/mysql
chmod +x /etc/init.d/mysql
chkconfig --add mysql
chkconfig --list mysql
到此为止,mysql就安装完成,并且可以远程访问了
如果远程访问失败,请查看错误原因,比如防火墙未开启相应端口
可能会遇到的问题:
- 问题一:在执行mysql -uroot -p的时候报错:Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
- 第一步:ps 查看mysql服务是否启动,发现没有
- 第二步:执行启动命令:service mysql start,然而报错:问题二:-bash: mysql: 未找到命令
原因:没有把 mysql 的bin目录配置到环境变量中
解决方案:- 方法一:直接运行命令 export PATH=$PATH:/usr/local/webserver/mysql/bin
使用这种方法,只会对当前会话有效,也就是说每当登出或注销系统以后,PATH 设置就会失效,只是临时生效。 - 方法二:执行vi ~/.bash_profile修改文件中PATH一行,将/usr/local/webserver/mysql/bin 加入到PATH=$PATH:$HOME/bin一行之后
这种方法只对当前登录用户生效 - 方法三:修改/etc/profile文件使其永久性生效,并对所有系统用户生效
第一步:vi /etc/profile 第二步:在profile下添加两行(对应自己的mysql的安装目录) export MYSQL_HOME=/home/mysql-5.7.22 export PATH=$PATH:$MYSQL_HOME/bin 第三步:让配置文件立即生效 source /etc/profile
- 方法一:直接运行命令 export PATH=$PATH:/usr/local/webserver/mysql/bin
- 第二步完成后,报错:问题三:service mysql start: log-error set to '/var/log/mariadb/mariadb.log', however file don't exists.
解决方案:发现并没有/var/log/mariadb/mariadb.log这个路径,那我们就创建, 并给mysql用户授权即可 执行以下三条命令: mkdir /var/log/mariadb touch /var/log/mariadb/mariadb.log chown -R mysql:mysql /var/log/mariadb/ 再输入开启mysql服务, 搞定!
- 第四步:开启 service mysql start 之后执行
[root@kd01 mariadb]# mysql -uroot -p
Enter password:
报错:问题四:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
原因:密码错误
解决方案:- 记得密码的话,重新输入即可
- 不记得密码的话,就只能重置密码了:Mysql 5.7 liunx 忘记密码的补救方法