1.下载mysql文件
mysql-test-8.0.12-linux-glibc2.12-x86_64.tar.xz
2.先 xz -d xxx.tar.xz 将 xxx.tar.xz解压成 xxx.tar 然后,再用 tar xvf xxx.tar来解包。
tx -d mysql-test-8.0.12-linux-glibc2.12-x86_64.tar.xz
tar xvf mysql-test-8.0.12-linux-glibc2.12-x86_64.tar
3.复制mysql目录到系统的本地软件目录:(注意文件名)
cp mysql-test-8.0.12-linux-glibc2.12-x86_64 /usr/local/mysql -r
4. 添加系统的mysql组和mysql用户
groupadd mysql
useradd -r -g mysql mysql
5.配置权限
mkdir mysql_install_db
chmod 777 ./mysql_install_db
6.初始化mysql配置表
cd /usr/local/mysql //转到mysql目录下
chown -R mysql:mysql ./ //修改当前目录为mysql用户
mkdir data //创建data文件夹
chmod 777 ./data //授权
bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data //初始化数据库
7.可能会报错
bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
解决方法:
使用命令,yum install libaio-devel.x86_64
安装成功后,继续运行数据库的初始化命令,提示成功。
8.在次初始化,并执行以下操作
1.再次执行 bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data //初始化数据库
2.会出现以下结果:
[root@izwz90soj9bq1uftxyzqsuz mysql]# bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
2018-11-18T10:43:08.077334Z 0 [Warning] [MY-011070] [Server] 'Disabling symbolic links using --skip-symbolic-links (or equivalent) is the default. Consider not using this option as it' is deprecated and will be removed in a future release.
2018-11-18T10:43:08.077467Z 0 [System] [MY-013169] [Server] /usr/local/mysql/bin/mysqld (mysqld 8.0.12) initializing of server in progress as process 2375
2018-11-18T10:43:11.236784Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: G6*D1rfTpenk
2018-11-18T10:43:12.656897Z 0 [System] [MY-013170] [Server] /usr/local/mysql/bin/mysqld (mysqld 8.0.12) initializing of server has completed
3.记住 G6*D1rfTpenk 密码 后面第一次登陆时要用到
4.接着执行
chown -R root:root ./ //修改当前用户为root用户
chown -R mysql:mysql data //修改当前的data目录为mysql用户
9.复制文件,配置文件my.cnf
1.执行 cd support-files/ 检查是否有 my-default.cnf文件
2.如果没有文件
touch my-default.cnf
chmod 777 ./my-default.cnf
3.创建tmp文件夹
mkdir tmp
chmod 777 ./tmp
4.复制文件
cp support-files/my-default.cnf /etc/my.cnf
5.修改my.cnf
[mysqld]
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
port = 3306
socket = /usr/local/mysql/tmp/mysql.sock
[client]
default-character-set=utf8
socket=/usr/local/mysql/tmp/mysql.sock
[mysql]
default-character-set=utf8
socket=/usr/local/mysql/tmp/mysql.sock
#必填项
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
10.加入开机自启项
1.将 mysql/ support-files/mysql.server 拷贝为/etc/init.d/mysql并设置运行权限,这样就可以使用service mysql命令启动/停止服务
#cp mysql.server /etc/init.d/mysql
#chmod +x /etc/init.d/mysql
2.注册启动服务:
#chkconfig --add mysql
3.查看是否添加成功
#chkconfig --list mysql
mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off
4.开启mysql服务:
#serivce mysql start 或 /sbin/service mysql start
5.错误,由于我的my.cnf 配置了log 所以出现了log 错误
log-error set to '/var/log/mariadb/mariadb.log', however file don't exists. Create writable for user 'mysql'.
解决 :
mkdir /var/log/mariadb
touch /var/log/mariadb/mariadb.log
chown -R mysql:mysql /var/log/mariadb/
11.配置环境变量
1. vi /etc/profile
2. 在文件中加入 export PATH=$PATH:/usr/local/mysql/bin:/usr/local/mysql/lib
3.保存退出 让文件生效
source /etc/profile 或 . /etc/profile
12.登录并修改密码
1. mysql -uroot -pG6*D1rfTpenk //后面是系统生成的密码 (注意-p后面不能有空格)
2.alter user 'root'@'localhost' identified by '123'; 修改密码
13.修改root权限为 % 连接 navicate
mysql>use mysql;
mysql>select host,user,plugin,authentication_string from mysql.user;
mysql>update user set host = '%' where user ='root';
mysql>flush privileges;
mysql>select host,user,plugin,authentication_string from mysql.user;