最近在公司内部由原来的window server改进到linux系统,在装mysql的时候遇到一些问题,经过多次尝试终于成功,以下将步骤进行整理,希望能帮助大家 一、卸载步骤 1、查看 mysql 安装了哪些东西
rpm -qa | grep -i mysql
2、有进行卸载,没有继续
yum remove /usr/local/mysql /user/local/mysql57/
3、查看是否卸载干净,执行第一步代码即可 4、查找mysql 的目录
find / -name mysql
5、如果有目录,则进行删除
# 多个中间空格分开
rm -rf /usr/local/mysql /user/local/mysql57
6、删除my.cnf
rm -rf /etc/my.cnf
7、删除 /var/log/mysqld.log
# 如果不删除这个文件,会导致新安装的 mysql 无法生存新密码,导致无法登陆
rm -rf /var/log/mysqld.log
---------------------------删除完成----------------------------- 二、安装 1、查看linux系统的版本是多少位
[root@centos-linux-8 /]# uname -a
Linux centos-linux-8 4.18.0-80.el8.x86_64 #1 SMP Tue Jun 4 09:19:46 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
2、官网下载mysql
注意一定要下对版本号,一个32位,一个64位,否则在安装时会遇到问题
3、卸载系统自带的Mariadb
[root@centos7 src]# rpm -qa|grep mariadb
mariadb-libs-5.5.60-1.el7_5.x86_64
[root@centos7 src]# rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64
4、检查mysql用户组、用户是否存在,不存在则创建
[root@centos7 src]# cat /etc/group | grep mysql
[root@centos7 src]# cat /etc/passwd | grep mysql
[root@centos7 src]# groupadd mysql
[root@centos7 src]# useradd -g mysql mysql
5、解压、重命名
#进入mysql压缩包地址
cd /usr/local
tar -zxvf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz
mv mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz mysql
cd mysql
mkdir data
chown -R mysql /usr/local/mysql/
chgrp -R mysql /usr/local/mysql/
6、初始化
/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/
7、新建配置文件my.cnf,启动
# 没有配置文件
vi /etc/my.cnf
# 已经有my.cnf
vim /etc/my.cnf
chown 777 /etc/my.cnf
8、给my.cnf文件添加如下内容
[mysqld]
basedir=/usr/local/mysql/
datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock
user=mysql
port=51019
symbolic-links=0
lower_case_table_names=1
max_connections=5000
character-set-server=utf8
default-storage-engine=INNODB
max_allowed_packet=16M
sql_mode=NO_UNSIGNED_SUBTRACTION,NO_ENGINE_SUBSTITUTION
# skip-grant-tables
[mysqld_safe]
# 这个路径要配置正确
log-error=/usr/local/mysql/log/mysqld.log
# 这个路径要配置正确
d-file=/usr/local/mysql/data/mysql.pid
9、启动
[root@centos7 mysql5.7]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
[root@centos7 mysql5.7]# chmod +x /etc/init.d/mysqld
[root@centos7 mysql5.7]# service mysqld start
Starting MySQL.2020-06-29T06:56:05.234601Z mysqld_safe error: log-error set to ‘/usr/local/mysql/log/mysqld.log’, however file don’t exists. Create writable for user ‘mysql’.
The server quit without updating PID file (/usr/local/mysql[FAILED]stance-7sb10bd1.pid).
使用下面命令进行查看:
# 查看路径,写到配置文件里
find / -name mysqld.log
# 查看路径写到配置文件里
find / -name mysql.pid:`:q
10、添加环境变量
# 不存在profile
vi /etc/profile
#存在profile
vim /etc/profile
# 填写
export PATH=$PATH:/usr/local/mysql/bin;/usr/local/mysql/lib
# 使环境变量生效
source /etc/profile
11、获取初始密码,连接mysql,更改默认密码,允许远程访问
# 获取mysql默认密码
cat /root/.mysql_secret
# Password set for user 'root@localhost' at 2020-01-02 09:09:05
# zQ>fN/e(lfU; --这个是初始化的密码,第一次登陆的时候用这个登陆
# 初始化密码
mysql -u root -p
提示如下错误:-bash: mysql: command not found
使用如下命令:
```java
alias mysql=/usr/local/mysql/bin/mysql
mysql> flush privileges; mysql>use mysql; mysql>select ‘host’ from user where user=‘root’;
-- ERROR 1820 (HY000)
alter user user() identified by "123456";
update mysql.user set authentication_string=‘root’ where user=‘root’;
mysql> flush privileges;
mysql> quit;
>登陆时报:
>mysql: error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory
12、报 libncurses.so.5或报 libncurses.so.6网上很多解答都没有解决,在网上找到一个,用使用如下命令即可完美解决
```java
# 清空
yum clean all
# 安装numactl 64位
yum -y install numactl.x86_64
# 使用此命令完美解决
yum install libncurses*
13、设置远程连接,当配置好之后,使用ip连接报
14、设置远程方法
mysql -u root -p
mysql>select user,host from user;
mysql>update user set host="%" where user="root";
mysql>flush privileges;
# 再次连接即可