数据库
首页 > 数据库> > linux install mysql & errors solutions

linux install mysql & errors solutions

作者:互联网

resources from: https://blog.csdn.net/qq_37598011/article/details/93489404

 

 

下载地址:https://dev.mysql.com/downloads/mysql/5.7.html#downloads

 

1.解压

 tar -xvf mysql-5.7.26-linux-glibc2.12-x86_64.tar

2.移动并重命名

mv mysql-5.7.26-linux-glibc2.12-x86_64 /usr/local/mysql


3.创建mysql用户组和用户并修改权限

groupadd mysql
useradd -r -g mysql mysql

4.创建数据目录并赋予权限

mkdir -p  /data/mysql              #创建目录
chown mysql:mysql -R /data/mysql   #赋予权限

5.配置my.cnf

vim /etc/my.cnf

--------
[mysqld]
bind-address=0.0.0.0
port=3306
user=mysql
basedir=/usr/local/mysql
datadir=/data/mysql
socket=/tmp/mysql.sock
log-error=/data/mysql/mysql.err
pid-file=/data/mysql/mysql.pid
#character config
character_set_server=utf8mb4
symbolic-links=0
explicit_defaults_for_timestamp=true
-------------



6.进入mysql的bin目录

cd /usr/local/mysql/bin/

7.初始化

./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/data/mysql/ --user=mysql --initialize

8.查看密码

cat /data/mysql/mysql.err

9.先将mysql.server放置到/etc/init.d/mysql中

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql

10.启动

    service mysql start
     
    ps -ef|grep mysql

到这里说明mysql已经安装成功了!!

下面修改密码

1.首先登录mysql,前面的那个是随机生成的。

./mysql -u root -p   #bin目录下
再执行下面三步操作,然后重新登录。

    SET PASSWORD = PASSWORD('123456');
    ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
    FLUSH PRIVILEGES;                                 

2.如果不希望每次都到bin目录下使用mysql命令则执行以下命令

ln -s  /usr/local/mysql/bin/mysql    /usr/bin




-------------------------------------------------------------------------
ERRORS & SOLUTIONS:
1.执行 mysql -u root -p 时报错:
mysql: error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory

原因:mysql在启动时发现缺少 libncurses.so.5 这个依赖,并且在/usr/lib以及/lib中也无法找到该依赖

解决:(1)在/usr/lib、/lib、/usr/lib64中寻找一个大于或者等于该依赖版本的依赖文件,我的是在/usr/lin64中找到了一个libncurses.so.6.1,然后建立一个软链接(相当于快捷方式):
sudo ln -s 文件路径  快捷方式路径

  sudo ln -s /usr/lib64/libncurses.so.6.1 /usr/lib64/libncurses.so.5

(2)查看MYSQL的依赖

$ cd /usr/local/mysql/bin

$ ldd mysql

mysql -uroot -pmagedu

ln -sf libtinfo.so.6.1 libtinfo.so.5

2.重置密码遇到ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using passwor:yes)问题
重置密码的第一步就是跳过MySQL的密码认证过程,方法如下:

#vim /etc/my.cnf(注:windows下修改的是my.ini)

在文档内搜索mysqld定位到[mysqld]文本段:
/mysqld(在vim编辑状态下直接输入该命令可搜索文本内容)

在[mysqld]后面任意一行添加“skip-grant-tables”用来跳过密码验证的过程

 

3.登录时提示密码错误

旧版本的更改密码输入格式:
update mysql.user set password=password('12345678') where user='root'时提示:ERROR 1054 (42S22): Unknown column 'password' in 'field list'

原来是新版本的mysql数据库下已经没有password这个字段了,password字段正式改成了authentication_string字段

所以新版本mysql57需要更改语句替换为:

update MySQL.user set authentication_string=password('root') where user='root' ;

4.
 

标签:bin,errors,root,user,usr,mysql,local,solutions
来源: https://www.cnblogs.com/MONziie/p/15200993.html