Linux mysql5.7 安装及配置

本文详细介绍如何在Linux环境下从MySQL官网下载并安装MySQL 5.7版本,包括用户及组的创建、软件安装与配置、初始化过程以及权限设置等步骤。
下载mysql

mysql官网 下载软件,因为本人使用时最高是5.7版本,所以本人下载的mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz

建立用户和组

建立用户mysql组mysql。后面 mysql 就使用这个用户来运行(ps:这也是mysql启动脚本中默认的用户,因此最好不要改名)。

groupadd mysql  
useradd -r -g mysql mysql 	//使用-r参数表示mysql用户是一个系统用户,不能登录
安装mysql
解压

将前面得到的mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz 解压至 /usr/local/mysql目录下:

tar -zxvf mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz   //解压
cp mysql-5.7.21-linux-glibc2.12-x86_64 /usr/local/mysql -r   //复制
授权

/usr/local/mysql及其下所有的目录所有者和组均设为mysql

cd /usr/local/mysql
chown mysql:mysql -R . 
初始化
/usr/local/mysql/bin/mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql
  1. data目录解压后没有,需要手动建立;
  2. mysql5.7和之前版本不同,很多资料上都是这个命令./scripts/mysql_install_db --user=mysql --datadir=/usr/local/mysql/data/mysql, 而5.7版本根本没有这个scripts/mysql_install_db

初始化成功后出现如下信息:

日志里面,注意最后一行,这也是和之有版本不同的地方,它给了root一个初始密码,后面要登录的时候要用到这个密码。

A temporary password is generated for root@localhost: ew-m-vMgW8e<
配置

配置文件修改
/usr/local/mysql/support-files下的my-default.cnf改名为my.cnf,拷到/etc下(或者考到{mysql}下,然后作一个软链接到/etc下):

#cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf

my.cnf中关键配置:

basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
port = 3306
socket = /usr/local/mysql/tmp/mysql.sock
 
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

注意,tmp没有,要手动创建。

如果这里没有my-default.cnf的话,得手动新建一个/etc/my.cnf,其内容可以参见 my.cnf

复制启动文件

cp /usr/local/mysql/support-files/mysql.server  /etc/init.d/mysqld 
chmod +x /etc/init.d/mysqld  //赋给运行权限
chkconfig --add mysqld   //开机自启

服务启动和关闭

/etc/init.d/mysqld start
/etc/init.d/mysqld stop
使用

登录,添加密码,密码就是刚才上面生成的密码:

[root@localhost etc]# mysql -uroot -p
Enter password: 

修改密码:


mysql> alter user 'root'@'localhost' identified by '123456';
Query OK, 0 rows affected (0.00 sec)

授予权限,如果不授权,就无法远程连接。

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
Query OK, 0 rows affected, 1 warning (0.01 sec)

之后就可以正常使用了。

(ps :若是要使用yum安装,可以参考 https://www.linuxidc.com/Linux/2016-09/135288.htm)

Linux系统安装MySQL 5.7配置systemd服务可按以下步骤进行: 1. 初始化数据目录:使用命令`./bin/mysqld --initialize --user=mysql --datadir=/usr/local/mysql5.7/data/ --basedir=/usr/local/mysql5.7/`来初始化数据目录[^2]。 2. 配置mysql启停脚本:编辑`/usr/lib/systemd/system/mysqld.service`文件,示例内容如下: ```plaintext [Unit] Description=MySQL Server Documentation=man:mysqld(8) Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html After=network.target After=syslog.target [Install] WantedBy=multi-user.target [Service] User=mysql Group=mysql ExecStart=/home/mysql/mysql/bin/mysqld --defaults-file=/home/mysql/mysql/my.cnf LimitNOFILE = 65536 LimitNPROC = 65536 ``` 也可以使用命令`cat >/etc/systemd/system/mysqld.service <<EOF`来配置,示例内容如下: ```plaintext [Unit] Description=MySQL Server Documentation=man:mysqld(8) Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html After=network.target After=syslog.target [Install] WantedBy=multi-user.target [Service] User=mysql Group=mysql ExecStart=/opt/application/mysql/bin/mysqld --defaults-file=/etc/my.cnf LimitNOFILE = 5000 EOF ``` 以上两种方式可根据实际情况选择使用,注意路径等信息要和实际安装情况相符 [^3][^4]。 3. 配置systemctl启动和停止方法:使用以下命令对MySQL服务进行管理: - `systemctl start mysqld`:启动MySQL服务。 - `systemctl stop mysqld`:停止MySQL服务。 - `systemctl status mysqld`:查看MySQL服务状态。 - `systemctl enable mysqld`:设置MySQL服务开机自启 [^3]。 另外,使用systemd管理mysql还有其他相关命令,如`systemctl disable mysql.service`(停止开机自启动)、`systemctl restart mysql.service`(重新启动服务)、`systemctl list-units --type=service`(查看所有已启动的服务) [^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值