【Linux】【Mysql】Linux CentOS7安装MySql8.0.12

一.软件准备

1. Centos 下载地址:http://isoredirect.centos.org/centos/7/isos/x86_64/CentOS-7-x86_64-DVD-1804.iso

2. yum 安装依赖包:yum install -y cmake gcc-c++ ncurses-devel perl-Data-Dumper boost  boost-doc boost-devel git openssl openssl-devel ncurses

3. mysql8.0.12下载地址:https://cdn.mysql.com/archives/mysql-8.0/mysql-8.0.12.tar.gz

二.软件安装

1.解压Mysql

1.1 cd /usr/local/src (mysql8.0.12安装包的下载目录);

1.2 tar -zxvf mysql-8.0.12.tar.gz && cd mysql-8.0.12

2. 创建用户密码、安装目录和数据目录

            groupadd mysql
            useradd -r -g mysql -s /bin/false mysql
            passwd mysql
            设置新密码为:1q2w#E$R
            mkdir -p /usr/local/mysql
            mkdir -p /data/mysql
            mkdir -p /home/mysql/run/mariadb
            mkdir -p /home/mysql/log/mariadb
            touch /home/mysql/run/mariadb/mariadb.log
            touch /home/mysql/run/mariadb/mariadb.pid


3.安装mysql8
           3.1 确保你在mysql解压后的目录

cd /usr/local/src/mysql-8.0.12

3.2 cmake 配置mysql安装参数

cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \

-DMYSQL_DATADIR=/usr/local/mysql/data \

-DSYSCONFDIR=/etc \

-DMYSQL_TCP_PORT=3306 \

-DDOWNLOAD_BOOST=1 \

-DWITH_BOOST=/usr/include/boost \

-DWITH_SSL=system

3.3 制作与安装

make  && make install

4. 配置my.cnf文件
           vim /etc/my.cnf

           [mysqld]
           skip-grant-tables#这个是用来定义跳过密码,必要时添加,一般不要加
           server-id=1
           port=3306
           basedir=/usr/local/mysql
           datadir=/data/mysql
           socket=/data/mysql/mysql.sock
           symbolic-links=0
           # Settings user and group are ignored when systemd is used.
           # If you need to run mysqld under a different user or group,
           # customize your systemd unit file for mariadb according to the
           # instructions in http://fedoraproject.org/wiki/Systemd
            [mysqld_safe]
           log-error=/home/mysql/log/mariadb/mariadb.log
           pid-file=/home/mysql/run/mariadb/mariadb.pid
    ##请根据实际情况添加参数


5. 目录权限修改
           chown -R root:root /usr/local/mysql
           chown -R root:root /data/mysql
           chown -R root:root /home/mysql/run/mariadb
           chown -R root:root /home/mysql/log/mariadb
           chmod 777 /usr/local/mysql -R
           chmod 777 /data/mysql -R
           chmod 755 /home/mysql/run/mariadb -R
           chmod 755 /home/mysql/log/mariadb -R


6. 初始化mysql

           6.1 进入mysql bin目录

           cd /usr/local/mysql/bin

           6.2 执行初始化
           ./mysqld --initialize --user=mysql --datadir=/data/mysql/

         (此时会自动生成一个密码比如“A temporary password is generated for root@localhost: irwyCU0<jY%”,这里的irwyCU0<jY%就是mysql账户的初始密码)

           ./mysql_ssl_rsa_setup

           6.3 添加到启动
           cp -v /usr/local/mysql/support-files/mysql.server /etc/init.d/
           chkconfig --add mysql.server

         6.4 启动mysql
           ./mysqld --defaults-file=/etc/my.cnf --user=root &
           service mysql.server {start|stop|restart|reload|force-reload|status})

            6.5添加软连接         

             ln -s /data/mysql/mysql.sock /tmp/mysql.sock

三.Mysql使用
1.软链接/usr/local/mysql/bin/mysql 到/usr/bin(确保后面直接使用mysql命令登录,不用每次都输入绝对路径)

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

2.登录本机mysql
             mysql  -uroot -p
##密码是上面6.2生成的密码,如果密码还是怎么输都不对的话,可以修改my.cnf文件,添加skip-grant-tables参数 然后执行service mysql.server stop 关闭mysql,然后再执行./mysqld --defaults-file=/etc/my.cnf --user=root & 启动数据库,然后再执行/usr/local/mysql/bin/mysql  -uroot -p登录数据库,这时就不需要密码了

3.修改root初始密码

              mysql> alter user 'root'@'localhost' identified by "123456";
##如果启用了skip-grant-tables,则无法修改密码,此时需要修改my.cnf文件,去掉skip-grant-tables,并在另一个窗口执行service mysql.server reload,这样就可以绕过输入密码进入mysql,从而实现修改密码。后期忘记密码也可这么做。

4. 登入Mysql以后,查看数据库
        mysql> show databases;
        +--------------------+
        | Database          |
        +--------------------+
        | information_schema |
        | mysql              |
        | performance_schema |
        | sys                |
        +--------------------+
       4 rows in set (0.00 sec)


5. 添加远程特账号
  mysql> create user root@'%' identified by '123456';
  Query OK, 0 rows affected (0.08 sec)

        mysql> grant all privileges on *.* to root@'%';
  Query OK, 0 rows affected (0.04 sec)

        mysql> flush privileges; (这部很重要)
  Query OK, 0 rows affected (0.01 sec)

mysql>ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';

mysql> exit

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值