Ubuntu20.04下安装MySql8

mysql

下载

到https://dev.mysql.com/downloads/mysql/,

如果无法通过ftp上传到云服务器,可以通过如下命令在服务器端下载

wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.31-linux-glibc2.12-x86_64.tar.xz

解压

xz -d mysql-8.0.31-linux-glibc2.12-x86_64.tar.xz

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

将解压内容移动到/usr/local/mysql下

sudo mkdir /usr/local/mysql

sudo mv mysql-8.0.31-linux-glibc2.12-x86_64/* /usr/local/mysql

cd /usr/local/mysql

创建用户及用户组

sudo groupadd mysql

sudo useradd -g mysql mysql

授权用户

sudo chown -R mysql.mysql /usr/local/mysql

编辑my.cnf文件

sudo vim /etc/my.cnf,追加内容如下:

[mysqld]
user=root
datadir=/usr/local/mysql/data
basedir=/usr/local/mysql
port=3306
max_connections=200
max_connect_errors=10
character-set-server=utf8
default-storage-engine=INNODB
default_authentication_plugin=mysql_native_password
lower_case_table_names=1
group_concat_max_len=102400
[mysql]
default-character-set=utf8
[client]
port=3306
default-character-set=utf8

进入到bin目录下

cd bin

初始化基础信息

最后一行后面会有个随机的初始密码保存下来一会登录要用(如果忘记了就删掉data重新初始化)

sudo ./mysqld --initialize

添加mysqld服务到系统

先返回到mysql目录: cd ..

sudo cp -a ./support-files/mysql.server /etc/init.d/mysql

授权以及添加mysql服务自启动

sudo chmod +x /etc/init.d/mysql

sudo sysv-rc-conf mysql on

ubuntu找不到chkconfig命令

Ubuntu 中使用 chkconfig命令报错

chkconfig: command not found

问题原因
Ubuntu 中 chkconfig 已经被 sysv-rc-conf 所替代

解决办法:

sudo apt-get update
sudo apt-get install sysv-rc-conf
sysv-rc-conf mysql on #代替 chkconfig mysql enable

在进行安装sysv-rc-conf 有可能会出现Unable to locate package sysv-rc-conf

解决办法:

第一步:打开sources.list文件
vim /etc/apt/sources.list
第二步:在sources.list文件最后一行中添加如下一列文本
deb http://archive.ubuntu.com/ubuntu/ trusty main universe restricted multiverse
第三步:更新apt-get
sudo apt-get update
第四步:重新安装sysv-rc-conf
sudo apt-get install sysv-rc-conf
第五步:查看服务情况

启动mysql

sudo service mysql start

将mysql添加到命令服务

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

登录mysql

sudo mysql -uroot -p

解决:error while loading shared libraries:libtinfo.so.5: cannot open shared object file : No such file or directory

查看MYSQL的依赖

ubuntu@VM-4-15-ubuntu:/usr/local/mysql/bin$ ldd mysql
        linux-vdso.so.1 (0x00007ffcb18b1000)
        libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f4e5e657000)
        libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f4e5e651000)
        libcrypto.so.1.1 => /usr/local/mysql/bin/./../lib/private/libcrypto.so.1.1 (0x00007f4e5e19e000)
        libssl.so.1.1 => /usr/local/mysql/bin/./../lib/private/libssl.so.1.1 (0x00007f4e5df0e000)
        libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2 (0x00007f4e5def2000)
        librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f4e5dee6000)
        libtinfo.so.5 => not found
        libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f4e5dd04000)
        libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f4e5dbb5000)
        libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f4e5db9a000)
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f4e5d9a8000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f4e5e685000)

我们可以看到:libtinfo.so.5 => not found

我们可以从https://pan.baidu.com/s/1SFza-Fa2-CVQh955XsJsZA复制该文件到/lib/x86_64-linux-gnu/目录

sudo mv libtinfo.so.5 /lib/x86_64-linux-gnu/

更改root用户密码

注意语句后的; 执行语句忘记写了 可以补个空的;回车也可以将语句执行

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';

flush privileges;

更改root连接权限

use mysql;

update user set host='%' where user = 'root';

flush privileges;

posted @ 2022-10-30 16:58  疯狗强尼  阅读(1578)  评论(0编辑  收藏  举报