MySQL(一)MySQL安装

569 阅读3分钟

环境介绍

操作系统:CentOS 7

MySQL:5.7

yum安装

MySQL的卸载

  • 查看MySQL软件

    rpm -qa|grep mysql

  • 卸载MySQL

    yum remove -y mysql mysql-libs mysql-common 
    
    rm -rf /var/lib/mysql 
    
    rm /etc/my.cnf
    

    查看是否还有 MySQL 软件,有的话继续删除

    软件卸载完毕后如果需要可以删除 MySQL 的数据库: /var/lib/mysql

安装MySQL

安装

#下载yum源 
wget https://repo.mysql.com//mysql80-community-release-el7-3.noarch.rpm 
#安装yum源 
rpm -ivh mysql80-community-release-el7-3.noarch.rpm 
#使用此命令可以查看 MySQL Yum 存储库中的所有子存储库,并查看其中哪些子存储库已启用或禁用
yum repolist all | grep mysql 
#关闭mysql8的下载源 
yum-config-manager --disable mysql80-community (如果提示 yum-config-manager:command not found,则需要安装# yum -y install yum-utils )
#开启mysql5.7下载源 
yum-config-manager --enable mysql57-community 
#安装mysql5.7 
yum install -y mysql-community-server

配置MySQL

vim /etc/my.cnf

修改内容如下

[mysqld] 
# MySQL设置大小写不敏感:默认:区分表名的大小写,不区分列名的大小写 
# 0:大小写敏感 1:大小写不敏感 
lower_case_table_names=1 
# 默认字符集 
character-set-server=utf8

启动MySQL

systemctl start mysqld

设置root用户密码

安装了mysql5.7之后初始密码不再默认为空,初始密码会生成一个默认密码。密码会输出到mysql日志中。日志文件的位置在 /var/log/mysqld.log

修改初始密码

#1.登录mysql 
[root@localhost ~]# mysql -uroot -p'password' 
#mysql5.7以后对密码的强度是有要求的,必须是字母+数字+符号组成的,如果想设置简单密码例 如‘root’,需要做以下设置 
#2.设置密码长度最低位数 
mysql> set global validate_password_length=4; 
#3.设置密码强度级别 
mysql> set global validate_password_policy=0; 
#4.修改密码 
mysql> alter user 'root'@'localhost' identified by 'root'

MySQL远程连接授权

登录MySQL

  • 登录命令

    mysql -uroot -proot

  • 命令说明

    -u:指定数据库用户名

    -p:指定数据库密码,记住-u和登录密码之间没有空格

授权

  • 授权命令

    grant 权限 on 数据库对象 to 用户

    GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;

  • 命令说明

    • ALL PRIVILEGES :表示授予所有的权限,此处可以指定具体的授权权限

    • . :表示所有库中的所有表

    • 'root'@'%' : myuser是数据库的用户名,%表示是任意ip地址,可以指定具体ip地址

    • IDENTIFIED BY 'mypassword' :mypassword是数据库的密码

  • 刷新权限

    FLUSH PRIVILEGES

关闭linux的防火墙

systemctl stop firewalld(默认) 

systemctl disable firewalld.service(设置开启不启动)

docker安装

  • 拉取镜像

    docker pull mysql:5.7

  • 查看镜像

    docker images

  • 启动mysql

    sudo docker run -p 3306:3306 --name mysql \
    -v /mydata/mysql/log:/var/log/mysql \
    -v /mydata/mysql/data:/var/lib/mysql \
    -v /mydata/mysql/conf:/etc/mysql \
    -e MYSQL_ROOT_PASSWORD=root \
    -d mysql:5.7
    
  • 查询已启动的容器

    docker ps

  • 修改配置

    # 切换⽂件路径
    cd /mydata/mysql/conf
    # 创建配置⽂件
    vi my.cnf
    # 将下列配置信息拷⻉到配置⽂件中
    [client]
    default-character-set=utf8
    [mysql]
    default-character-set=utf8
    [mysqld]
    init_connect='SET collation_connection = utf8_unicode_ci'
    init_connect='SET NAMES utf8'
    character-set-server=utf8
    collation-server=utf8_unicode_ci
    skip-character-set-client-handshake
    skip-name-resolve
    # 重启配置信息
    docker restart mysql
    
  • 设置启动Docker时,即运⾏mysql

    docker update mysql --restart=always