mysql8.0压缩包 直接把phpstudy8.0的目录弄成压缩包就可以 my.ini 可以不放进去
或者命令下载 --下载mysql8.0的版本
wget https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.19-linux-glibc2.12-x86_64.tar.xz
安装上传插件
yum -y install lrzsz
执行命令 rz -y 上传mysql8.0 压缩包
修改名称 mv 压缩包名称 修改后的名称
mv mysql-8.0.19-linux-glibc2.12-x86_64 mysql
添加用户组 groupadd mysql useradd -r -g mysql mysql
添加权限chown -R mysql:mysql /usr/local/mysql
mysql 初始化
--初始化mysql配置
cd /usr/local/mysql
chown -R mysql:mysql /usr/local/mysql
./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
_Nq<P?T 最后一行是mysql初始化的密码
赋予权限
chown -R root:root /usr/local/mysql
chown -R mysql:mysql /usr/local/mysql/data
mysql初始化后,会在根目录的etc下生成一个文件 my.cnf
查看文件 cd / cd到根目录 cd etc 执行查看命令 cat my.cnf
--复制配置文件 cp /etc/my.cnf my.cnf
chmod 777 ./my.cnf
以下是配置文件内容:
[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
port=3306
socket=/usr/local/mysql/tmp/mysql.sock
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
创建mysql.sock存储文件tmp
mkdir tmp
chmod 777 tmp
加入开机自启
cd /usr/local/mysql mysql目录下有个supportfile目录 把里面的mysql.server 复制到 /etc/init.d/mysql 这个目录下
--将mysql服务添加到/etc/init.d
cp mysql.server /etc/init.d/mysql
chmod +x /etc/init.d/mysql //添加权限
--添加服务 chkconfig --add mysql
--查看是否添加成功 chkconfig --list mysql
出现这个就是添加成功了
mysql 0:关 1:关 2:开 3:开 4:开 5:开 6:关
回到mysql目录 cd../
启动MySQL服务 service mysql start
配置环境变量
vi /etc/profile
profile最后一行中填写内容:
export PATH=$PATH:/usr/local/data/mysql/bin:/usr/local/mysql/lib
保存退出之后,运行命令:source /etc/profile 让profile文件立即生效
登录mysql,修改密码 mysql -uroot -p
--修改密码 alter user 'root'@'localhost' identified by 'root';
启动mysql,遇到的问题。搞了几个小时
Starting MySQL... ERROR! The server quit without updating PID file (/usr/local/mysql/data/localhost.localdomain.pid).
参考博客
https://blog.51cto.com/732233048/1636409
遇到错误第一时间复制错误去百度,然后乱搞一通,莫得法子,看了这位大哥的博客后,设置错误日志
这位大哥的总结非常之牛逼
[mysqld_safe]
log-error = /usr/local/mysql/logs/error.log #这是我自己设置的路径
执行service mysql start ,然后查看日志
创建不到sock文件,这就是目录的权限不够了,然后执行命令,赋予777权限
chmod 777 tmp
再启动mysql就行了!
———————————————————————————————————————————————————————
启动mysql成功后,登录mysql mysql -uroot -p
报错mysql:未找到命令
参考博客https://blog.csdn.net/whosheng/article/details/50006093
把/usr/local/mysql/bin/mysql 映射到 /usr/local/bin 目录下
ln -fs /usr/local/mysql/bin/mysql mysql
____________________________________________________________________________________________________
报错ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
在my.cnf文件 加上
[client]
socket=/usr/local/mysql/tmp/mysql.sock
————————————————————————————————————————————————————————
报错linux ERROR 1045 (28000): Access denied for user 'root'@'localhost'
在my.cnf文件[mysqld] 下加上这一行 skip-grant-tables 用来跳过密码验证的,然后重启mysql服务: service mysql restart;
参考博客https://www.cnblogs.com/yaowen/p/9486997.html
3://将旧密码置空
mysql -u root -p //提示输入密码时直接敲回车。
//选择数据库
use mysql
//将密码置空
update user set authentication_string = '' where user = 'root';
//退出
quit
4://去除免密码登陆
删掉 skip-grant-tables
重启服务 service mysql restart
5://修改密码
mysql -u root -p //提示输入密码时直接敲回车,刚刚已经将密码置空了
ALTER USER 'root'@'localhost' IDENTIFIED BY 'root123';//'root123' 密码形式过于简单则会报错