wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.19-linux-glibc2.12-x86_64.tar.xz
tar -Jxvf mysql-8.0.19-linux-glibc2.12-x86_64.tar.xz
groupadd mysql
useradd -r -g mysql mysql
mkdir -p /data/mysql #创建目录
chown mysql:mysql -R /data/mysql #赋予权限
vim /etc/my.cnf
内容如下
[client]
default-character-set = utf8mb4
[mysql]
default-character-set = utf8mb4
[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-client-handshake=FALSE
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
init_connect='SET NAMES utf8mb4'
# sql_mode=only_full_group_by问题解决办法
sql_mode=STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# [mysqld_safe]
log-error=/usr/local/mysql/logs/mysqld-error.log
# pid-file=/tmp/mysqld.pid
explicit_defaults_for_timestamp=true
初始化数据库
进入mysql的bin目录
cd /usr/local/mysql/bin/
初始化
./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/data/mysql/ --user=mysql --initialize
注:centos运行该命令后出现的报错如下
./mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
出现该问题首先检查该链接库文件有没有安装使用 命令进行核查
rpm -qa|grep libaio
运行该命令后发现系统中无该链接库文件
使用命令
yum install libaio-devel.x86_64
安装成功后,继续运行数据库的初始化命令,提示成功。
查看密码
cat /data/mysql/mysql.err
启动mysql,并更改root 密码
先将mysql.server放置到/etc/init.d/mysql中
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
启动!!!
service mysql start
ps -ef|grep mysql
到这里说明mysql已经安装成功了!!
下面修改密码
首先登录mysql,前面的那个是随机生成的。lAEz0q9W
./mysql -u root -p #bin目录下
如果报错:./mysql: error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory
系统是amazon linux 2,安装完mysql之后,mysql命令登录不成功,报错:mysql: error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory。按照百度的方法都不成功,应该和系统版本有关,后来自己想到一个方法:yum install libncurses*
,完美解决问题。
再执行下面三步操作,然后重新登录。
ALTER USER 'root'@'localhost' IDENTIFIED with mysql_native_password BY '你的新密码';
flush privileges; #刷新权限
这时候你如果使用远程连接……你会发现你无法连接。
这里主要执行下面三个命令(先登录数据库)
use mysql #访问mysql库
update user set host = '%' where user = 'root'; #使root能再任何host访问
FLUSH PRIVILEGES; #刷新
1.将服务文件拷贝到init.d下,并重命名为mysql
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
2.赋予可执行权限
chmod +x /etc/init.d/mysqld
3.添加服务
chkconfig --add mysqld
4.显示服务列表
chkconfig --list
chkconfig --level 345 mysqld on
重启测试