文章目录
linux本地
1.下载mysql
下载地址:https://dev.mysql.com/downloads/mysql/5.7.html#downloads
这里我没有下载 提供另一个版本的
链接:https://pan.baidu.com/s/1OHiE8Ni7_ytueelSv1lVMA
提取码:bbbb
觉得怎么方便怎么来吧
若链接失效了 及时评论提醒我哦
2. 上传并解压
创建对应的目录
mkdir mysql
解压缩
tar -xvf mysql-5.7.26-1.el7.x86_64.rpm-bundle.tar
ps: linux自带mariadb数据库 与mysql冲突 先要卸载
查询mariadb
rpm -qa |grep mariadb
卸载mariadb
rpm -e --nodeps mariadb-libs
查看目录
3. 安装mysql
注意 依次执行 不同版本的 安装 common libs client server 安装就可以了
rpm -ivh mysql-community-common-5.7.26-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.26-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.26-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.26-1.el7.x86_64.rpm
4. 启动mysql
systemctl start mysqld.service
设置root用户密码
默认他就是带密码的 所以要根据那个密码进行修改
查询root密码
grep "password" /var/log/mysqld.log
后面的那串就是密码
使用 mysql -u -p密码进入(p后面不带空格)
5. 设置新密码
mysql有几个密码策略 默认是最高的 所以不想弄这么复杂 需要修改策略
修改策略
set global validate_password_policy=0;
设置密码长度
默认密码长度8位 最小四位
set global validate_password_length=4;
设置密码
set password=password('123456');
刷新权限
flush privileges;
6.远程连接数据库
设置远程连接密码
如果密码设置的不同 123456也需要做更改
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
防火墙设置
两个办法 关闭防火墙(生产环境勿用) 或者打开对应端口3306 都可以
1.关闭防火墙 简单粗暴
systemctl stop firewalld
2.打开防火墙对应端口
firewall-cmd --permanent --add-port=3306/tcp
相当于刷新操作
firewall-cmd --reload
查询是否开启
firewall-cmd --query-port=3306/tcp
ps:若修改了密码 远程连接的设置也要做相应的修改
7. 数据库文件配置
默认的也行 配置了更好
编辑文件my.cnf
vim /etc/my.cnf
在[mysqld]下面配置几行
lower_case_table_names=1 #配置表名不区分大小写 1:不区分大小写 0:区分大小写 这行必须配置 默认表名是区分大小写的,不利于开发
character-set-server=utf8 #设置为默认编码为utf8
init_connect='SET NAMES utf8'
max_connections=1024 #设置最大连接数
重启mysql 重启配置才能生效
service mysqld restart
docker安装mysql
既然会用docker了 安装就不讲了 ## 安装mysql
docker pull mysql:5.7
运行容器
–name指定容器名字
-v目录挂载 -p指定端口映射
-e设置mysql参数
-d后台运行
挂载到外部 外部一修改 里面也会修改
-v 外部地址 : 内部地址
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=123456 \
-d mysql:5.7
如下 在该目录下创建了三个文件
进入容器
docker exec -it mysql /bin/bash
#进入mysql
mysql -u root -p123456
设置mysql随docker启动而启动
docker update --restart=always mysql
1)在使用docker run启动容器时,使用–restart参数来设置:
–restart具体参数值详细信息:
no - 容器退出时,不重启容器;
on-failure - 只有在非0状态退出时才从新启动容器;
always - 无论退出状态是如何,都重启容器;
还可以在使用on - failure策略时,指定Docker将尝试重新启动容器的最大次数。默认情况下,Docker将尝试永远重新启动容器。
docker run --restart=on-failure:10 mysql
2)如果创建时未指定 --restart=always ,可通过update 命令
docker update --restart=always xxx如mysql
编辑对应的my.cnf文件
vim /mydata/mysql/conf/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
default-time_zone = '+8:00'
测试远程连接
如果失败 关闭防火墙 云服务器要打开对应的安全组哦!
在你还年轻的时候,你的选择没有对错之分,所有的选择都是对的,对于选择的结果,只是好与更好的差别