按照原文安装又碰到了一些坑,所以补充一些遇到的问题
因为国内直接yum安装mysql非常慢,所以可以先通过下载软件下载需要的mysql版本,再传到linux上.
原文地址:https://blog.youkuaiyun.com/weixin_42109071/article/details/89375748
1.下载mysql-8.0.13-linux-glibc2.12-x86_64.tar.xz的安装包
云盘下载链接:https://pan.baidu.com/s/1CwH3yKNoQ_dUX4Q2xrA5Aw
提取码:jxbk
2.解压mysql-8.0.13-linux-glibc2.12-x86_64.tar.xz
# xz -d mysql-8.0.13-linux-glibc2.12-x86_64.tar.xz
# tar -xvf mysql-8.0.13-linux-glibc2.12-x86_64.tar
先使用xz指令,没有的就百度搜索安装一下
3.将解压的文件重命名mysql,并移动到/usr/local路径下,如果已经在此目录下就不用管了,只需要重命名就好.mysql目录一定要在/usr/local/路径下!!!!!!!!!!
# mv mysql-8.0.13-linux-glibc2.12-x86_64 mysql
# mv mysql /usr/local/
4.在/usr/local/mysql目录下,创建data文件夹
# mkdir data
5.进入到/usr/local目录下,创建用户和用户组并授权
# cd /usr/local/
# groupadd mysql
# useradd -r -g mysql mysql
# cd mysql/ #注意:进入mysql文件下授权所有的文件
# chown -R mysql:mysql ./
#passwd mysql #修改mysql用户密码
6.初始化数据库,并会自动生成随机密码,记下等下登陆要用
# bin/mysqld --initialize --user=root --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
7. 进入mysql/support-files/路径,创建并复制 my-default.cnf,其实也就是空白页,一开始没有my-default.cnf这个文件
# cd support-files/
# touch my-default.cnf
# chmod 777 ./my-default.cnf
# cd ../
# cp support-files/my-default.cnf /etc/my.cnf
8.
9.配置my.cnf !!!!!注意别把格式复制到文件里会报一个格式的错误 '--?'
[mysqld]
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
socket = /tmp/mysql.sock
log-error = /usr/local/mysql/data/error.log
pid-file = /usr/local/mysql/data/mysql.pid
tmpdir = /tmp
port = 3306
max_allowed_packet=32M
default-authentication-plugin = mysql_native_password
log_bin_trust_function_creators = ON
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
mysql运行报错,可以直接到log-error = /usr/local/mysql/data/error.log目录下直接查看错误日志
命令:cat /usr/local/mysql/data/error.log
10.开机自启,进入/usr/local/mysql/support-files进行设置
# cd support-files/
# cp mysql.server /etc/init.d/mysql
# chmod +x /etc/init.d/mysql
11.注册服务
# chkconfig --add mysql
12.查看是否成功
# chkconfig --list mysql
如果第11步注册服务命令没有成功,在需要处理chkconfig,否则跳过
# rpm -aq |grep chkconfig
# export PATH=/sbin:$PATH
# chkconfig
# echo $PATH
# PATH="$PATH":/sbin
# echo $PATH
13.etc/ld.so.conf要配置路径,不然报错
# vim /etc/ld.so.conf
添加如下内容:
/usr/local/mysql/lib
14.配置环境变量
# vim /etc/profile
在文件最末尾添加如下内容:
#MYSQL ENVIRONMENT
export PATH=$PATH:/usr/local/mysql/bin:/usr/local/mysql/lib
保存退出后执行,即时生效
# source /etc/profile
15.启动,登陆,这里输入上面第6步随机生成得密码,细心点输入,没有显示的,登陆成功如图所示
#启动mysql服务
[root@localhost bin]# service mysql start
Starting MySQL.Logging to '/usr/local/mysql/data/error.log'.
.. SUCCESS!
[root@localhost bin]#
登录
# mysql -u root -p
如果提示 bash: mysql: 未找到命令... 那么需要执行以下语句
# ln -s /usr/local/mysql/bin/mysql /usr/bin
默认在bin下面,没找到指令就报错了,所以做一个映射就哦了
如果提示 . ERROR! The server quit without updating PID file (/usr/local/mysql/data/mysql.pid).
去看看是不是data分组权限没有配置好,重新做下授权再启动mysql
#修改mysql密码
mysql> alter user 'root'@'localhost' identified by '123456';
Query OK, 0 rows affected (0.02 sec)
16.开启Navicat远程连接
# mysql -uroot -p #进入数据库
> use mysql;#进入数据库
> select host, user, authentication_string, plugin from user;#查看用户信息
> update user set host = '%' where user = 'root' and host='localhost'; 修改host
> GRANT ALL ON *.* TO 'root'@'%';#授权root用户可以远程登陆
> flush privileges;#立即生效
> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';#修改root用户密码
> FLUSH PRIVILEGES;#立即生效
> exit;#退出
# service mysql restart#重启mysql服务
搞定!