Mysql5.7
https://www.aliyundrive.com/s/uj77mbjTfor
提取码: qs04
https://www.mysql.com
打开官网,点击DOWNLOADS
然后,点击MySQL Community(GPL) Downloads
MySQL分为社区版(Community Server)和企业版(Enterprise Server)
点击MySQL Community Server
下载MySQL Community Server 5.7.28
1.这里不能直接选择CentOS7系统的版本,所以选择与之对应的Red Hat Enterprise Linux 7
2.直接点Download下载RPM Bundle全量包。包括了所有下面的组件。不需要一个一个下载了。
直接点:No thanks,just start my download.
下载的tar包,用压缩工具打开
查看是否安装过MySQL
rpm -qa | grep -i mariadb CentOS7使用这个
-i忽略大小写
卸载MySQL; --nodeps 排除依赖,否则别的软件依赖mysql,无法删除
rpm -e --nodeps mariadb-libs
检查/tmp临时目权限;
chmod -R 777 /tmp
在mysql的安装文件目录下执行:(必须按照顺序执行)
rpm -ivh mysql-community-common-5.7.28-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.28-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.28-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.28-1.el7.x86_64.rpm
执行 mysqladmin --version命令,类似java -version如果打出消息,即为成功
执行rpm -qa|grep -i mysql命令,查看是否安装成功,需要增加 -i 不用去区分大小写,否则搜索不到。
为了保证数据库目录为与文件的所有者为 mysql 登录用户,如果你是以 root 身份运行 mysql 服务,需要执行下面的命令初始化:
mysqld --initialize --user=mysql
另外 --initialize 选项默认以“安全”模式来初始化,则会为 root 用户生成一个密码并将该密码标记为过期,登录后你需要设置一个新的密码
查看密码:
cat /var/log/mysqld.log
启动:systemctl start mysqld.service
关闭:systemctl stop mysqld.service
重启:systemctl restart mysqld.service
查看状态:systemctl status mysqld.service
systemctl list-unit-files|grep mysqld.service
systemctl enable mysqld.service
如果希望不进行自启动,运行如下命令设置
systemctl disable mysqld.service
通过 mysql -uroot -p进行登录,在Enter password:录入初始化密码
因为初始化密码默认是过期的,所以查看数据库会报错
修改密码:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
参数 |
路径 |
解释 |
备注 |
--basedir |
/usr/bin |
相关命令目录 |
mysqladmin mysqldump等命令 |
--datadir |
/var/lib/mysql/ |
mysql数据库文件的存放路径 |
|
--plugin-dir |
/usr/lib64/mysql/plugin |
mysql插件存放路径 |
|
--log-error |
/var/log/mysqld.log |
mysql错误日志路径 |
|
--pid-file |
/var/run/mysqld/mysqld.pid |
进程pid文件 |
|
--socket |
/var/lib/mysql/mysql.sock |
本地连接时用的unix套接字文件 |
|
|
/usr/share/mysql |
配置文件目录 |
mysql脚本及配置文件 |
|
/etc/systemd/system/multi-user.target.wants/mysqld.service |
服务启停相关脚本 |
|
|
/etc/my.cnf |
mysql配置文件 |
cat /etc/my.cnf |
默认latin1字符编码,不支持中文
show variables like '%char%';
保存中文报错
1.修改字符集
vim /etc/my.cnf
[client]
default-character-set=utf8
[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci
2.重新启动mysql
systemctl restart mysqld
3.已生成的库表字符集如何变更
以前创建的库,创建的表字符集还是latin1
修改以前数据库的字符集
alter database mydb character set 'utf8';
修改以前数据表的字符集
alter table mytbl convert to character set 'utf8';
但是原有的数据如果是用非’utf8’编码的话,数据本身编码不会发生改变。
已有数据需要导出或删除,然后重新插入。
4.查看字符集
show variables like 'character%';
show variables like '%char%';
进入mysql数据库
use mysql
查询 user 表
select User, Host from user;
修改 user 表,把 Host 表内容修改为%
update user set host='%' where host='localhost';
刷新
flush privileges;