赞
踩
1. 查看安装情况
rpm -qa | grep mariadb
rpm -qa | grep -i mysql
如有,请卸载
rpm -e --nodeps mariadb-libs-5.5.37-1.el7_0.x86_64 ---rpm -e --nodeps 软件名
如上次未安装完成(或其他原因),卸载时,可以采用删除mysql所有相关文件的方式
find / -name mysql (例如,如下图,如不清楚哪些不能删,可参考未安装mysql服务器的mysql文件情况)
2. 下载 mysql8 安装包
链接:https://dev.mysql.com/downloads/mysql/
上传至服务器
下载方式2:在线下载
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz
3. 解压
解压
tar -xvf mysql-8.0.27-linux-glibc2.12-x86_64.tar.xz -C /usr/local/
cd /usr/local/
mv mysql-8.0.27-linux-glibc2.12-x86_64/ mysql --重命名
4. 配置
vim /etc/my.cnf --目录下没有此文件,新建即可 (新版,不会出现socket问题:Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’,无需创建软连接,直接可用)
[mysql]
port = 3306
socket = /usr/local/mysql/data/mysql.sock
[mysqld]
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
port = 3306
socket = /usr/local/mysql/data/mysql.sock
pid-file = /usr/local/mysql/data/hostname.pid
log-error = /usr/local/mysql/data/hostname.err
vim /etc/my.cnf --目录下没有此文件,新建即可(老版,有点问题)
[mysqld]
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
port = 3306
socket = /usr/local/mysql/data/mysql.sock
pid-file = /usr/local/mysql/data/hostname.pid
log-error = /usr/local/mysql/data/hostname.err
软连接,默认 socket =/tmp/mysql.sock。不创建软连接会报错。
(Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’
)
ln -s /usr/local/mysql/data/mysql.sock /tmp/mysql.sock
5. 添加用户组、用户名
1)查看是否存在用户组、用户名
cat /etc/group | grep mysql
cat /etc/passwd | grep mysql
2)添加用户组、用户名
groupadd -g 101 mysql ---添加 组id 组名称
useradd -u 514 -g mysql -G root mysql
注:-u 用户ID , g 指定用户所属的群组 ,-G 指定用户所属的附加群组 -d 指定用户登入时的启始目录
附删除用户组命令(添加失败或用户名重复时,可使用)
a)userdel -r 用户名
b)groupdel 用户组名
3)修改权限
chown -R mysql:mysql /usr/local/mysql
chmod -R 755 /usr/local/mysql
chown mysql:mysql /etc/my.cnf
chmod 640 /etc/my.cnf
6. 初始化
1)初始化
cd /usr/local/mysql/
./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
1.1)报错,缺少 libaio包 :mysqld: error while loading shared libraries: libaio.so.1:cannot open shared object file: No such file or directory
安装libaio包
yum install -y libaio (还有博客使用:yum -y install numactl,未测试过)
重新初始化,成功 (配置了 log-error 路径的,初始化日志和密码请查看该路径下的log:此处为 cat /usr/local/mysql/data/hostname.err)
cat /usr/local/mysql/data/hostname.err
1.2)初始化时,界面没有反应(界面不打印日志)。
可通过 cat /usr/local/mysql/data/hostname.err,查看初始化进度,报错情况,以及密码。’
1.3) 初始化多次,导致再初始化时,data文件已在(每次初始化,都会生成)
可删除data文件,重新初始化
[root@hadoop102 mysql]# rm -rf data/
[root@hadoop102 mysql]# ls
bin docs include lib LICENSE man README share support-files
[root@hadoop102 mysql]# ./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
2)添加Mysql到系统服务
cd /usr/local/mysql
cp support-files/mysql.server /etc/init.d/mysql ( --/etc/init.d/是目录,下面存放着很多服务程序)
chmod +x /etc/init.d/mysql
chkconfig --add mysql --开启启动
7. 登录
1)启动
su - mysql (root用户也可以启动mysql)
service mysql start
service mysql stop
service mysql restart
2)登录
cd /usr/local/mysql
./bin/mysql -uroot -p
此处,可以配置环境变量,以后即可使用 mysql -u root -p 登录
[root@hadoop102 etc]# cd profile.d/
[root@hadoop102 profile.d]# cat my_env.sh
[root@hadoop102 profile.d]# vim my_env.sh
#MYSQL_HOME
export MYSQL_HOME=/usr/local/mysql
export PATH=$PATH:$MYSQL_HOME/bin
[root@hadoop102 profile.d]# source my_env.sh
[root@hadoop102 profile.d]# mysql -u root -p
Enter password:
初始化时,有个临时密码,此处使用该密码即可
报错信息汇总:
1) cannot remove ‘/var/lock/subsys/mysql’:Permission denied
修改权限,或直接删掉该文件
参考博客:https://qcsdn.com/article/123700.html
2)pid报错:MySQL server PID file could not be found![FAILED]
修改/usr/local/mysql/data的读写权限:chmod -R 755 /usr/local/mysql/data
参考博客:https://blog.csdn.net/u010682330/article/details/83757201
8. 修改密码及远程登录
修改密码
alter user root@localhost identified by 'mysql'; --此处 'mysql'为新密码
远程登录
CREATE USER 'root'@'%' IDENTIFIED BY 'mysql'; --此处 'mysql'为新密码
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
flush privileges;
报错信息:
ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’ (using password: YES)
原因:密码错误
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。