MySQL 推荐使用 RPM 包进行 Linux 平台下的安装,因为 RPM 包的安装和卸载都很方便,通过简单的命令就可以实现。本节主要介绍 Linux 下如何使用 RPM 包安装和配置 MySQL。
本节的安装环境为 CentOS 6.5,选用 el6 的安装包。读者应根据自己的系统来选择相对应的安装包,例如:CentOS 7 应该选用 el7 安装包。如果安装包对应的系统版本不正确,安装时会出现有关 glibc 的依赖错误。
下面通过 RPM 包进行安装,具体操作步骤如下:
步骤 1):进入官方下载页面(http://dev.mysql.com/downloads/mysql)选择要下载的包(可直接点击下方链接进行下载)。
- mysql-community-common-5.7.29-1.el6.x86_64.rpm
- mysql-community-libs-5.7.29-1.el6.x86_64.rpm
- mysql-community-client-5.7.29-1.el6.x86_64.rpm
- mysql-community-server-5.7.29-1.el6.x86_64.rpm
步骤 2):下载完成后,切换到 root 用户。按照依赖关系依次安装 rpm 包,依赖关系依次为 common→libs→client→server。使用命令rpm -ivh {-file-name}
进行安装操作。
rpm -ivh mysql-community-common-5.7.29-1.el6.x86_64.rpm rpm -ivh mysql-community-libs-5.7.29-1.el6.x86_64.rpm rpm -ivh mysql-community-client-5.7.29-1.el6.x86_64.rpm rpm -ivh mysql-community-server-5.7.29-1.el6.x86_64.rpm
ivh 中,i-install 参数表示安装后面的一个或多个 RPM 软件包;v-verbose 参数表示安装过程中显示详细的信息;h-hash 参数表示使用“#”来显示安装进度。
在 Linux 操作系统下安装 MySQL 时,一定要注意权限问题。安装 RPM 软件包时,需要使用 root 权限,否则会提示权限不够。且安装完成后,也需要使用 root 权限启动和关闭 MySQL 服务。
安装后相关文件说明:
rpm安装默认目录: 数据文件:/var/lib/mysql/ 安装目录:/usr/share/mysql mysql客户端工具目录:/usr/bin 日志目录:/var/log/ pid,sock文件目录:/tmp/ 一般配置文件会放置在/etc下
创建配置文件,cd /etc里面:
cp my.cnf.rpmnew my.cnf
内容如下:
# For advice on how to change settings please see # http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html [mysqld] skip-grant-tables # # Remove leading # and set to the amount of RAM for the most important data # cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%. # innodb_buffer_pool_size = 128M # # Remove leading # to turn on a very important data integrity option: logging # changes to the binary log between backups. # log_bin # # Remove leading # to set options mainly useful for reporting servers. # The server defaults are faster for transactions and fast SELECTs. # Adjust sizes as needed, experiment to find the optimal values. # join_buffer_size = 128M # sort_buffer_size = 2M # read_rnd_buffer_size = 2M datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock # Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0 log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid # 服务端口号,默认为 3306 port=3306 # # MySQL 服务的唯一编号,每个 MySQL 服务的 id 需唯一。 #server-id = 1 # 数据库默认字符集,主流字符集支持一些特殊表情符号(特殊表情符占用 4 个字节) character-set-server = utf8mb4 # 数据库字符集对应一些排序等规则,注意要和 character-set-server 对应 collation-server = utf8mb4_general_ci # # 设置 client 连接 mysql 时的字符集,防止乱码 #init_connect=‘SET NAMES utf8mb4‘ # # 是否对 sql 语句大小写敏感,1 表示不敏感 lower_case_table_names = 1 # # 用于指定索引缓冲区的大小 key_buffer_size=16M # # 设置一次消息传输的最大值 max_allowed_packet=8M # 创建新表时将使用的默认存储引擎 default-storage-engine=INNODB
步骤 3):通过以下命令可以启动 MySQL 数据库,但是必须使用 root 权限。
service mysql start
或者
systemctl start mysqld.service
都试试
MySQL 服务的操作命令是:
service mysql start | stop | restart | status
或者
systemctl start | stop | restart | status mysqld.service
以上几个参数的意义如下:
- start:启动 MySQL 服务
- stop:停止 MySQL 服务
- restart:重启 MySQL 服务
- status:查看 MySQL 服务状态
步骤 4):服务启动后,查找 root 初始随机密码(如果没有初始密码,直接输入用户名 root 登录即可)
set password for root@localhost=password("你的密码")
其他参考:http://c.biancheng.net/view/7616.html
设置远程主机登录,注意下面的your username 和 your password改成你需要设置的用户和密码
GRANT ALL PRIVILEGES ON *.* TO ‘your username‘@‘%‘ IDENTIFIED BY ‘your password‘ WITH GRANT OPTION;
其他参考:https://www.cnblogs.com/jiangxiaobo/p/12337026.html
这里说明下需求:root账号不开设远程访问,airclean用户开设远程访问,而且只针对于某一个数据库,那么我可以写:
# 创建一个用户 CREATE USER ‘aircleaner‘@‘%‘ IDENTIFIED BY ‘xxxx‘; # 设置远程访问权限 GRANT ALL PRIVILEGES ON sd.* TO ‘aircleaner‘@‘%‘ IDENTIFIED BY ‘xxxx‘; # 生效 flush privileges;