目录html
虚拟机未装过mysql,第一次安装mysql。本身指定安装目录,指定数据文件目录。
linux系统版本: CentOS 7.3 64位
安装源文件版本:mysql-5.7.24-linux-glibc2.12-x86_64.tar.gzip
mysql安装位置:/software/mysql-57
数据库文件数据位置:/data/mysqlmysql
安装步骤linux
[root@localhost ~]# mkdir /software/ [root@localhost ~]# mkdir /data/mysql
下载安装包:https://dev.mysql.com/downloads/mysql/5.7.html#downloads
sql
[root@localhost ~]# tar -zxvf mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz [root@localhost ~]# mv mysql-5.7.24-linux-glibc2.12-x86_64/ /software/mysql-57
[root@localhost ~]# groupadd mysql [root@localhost ~]# useradd -r -g mysql mysql
[root@localhost ~]# chown -R mysql:mysql /software/mysql-57/ [root@localhost ~]# chown -R mysql:mysql /data/mysql/ [root@localhost ~]# chown -R mysql /software/mysql-57/ [root@localhost ~]# chown -R mysql /data/mysql
[root@localhost ~]# chmod -R 755 /software/mysql-57/
若是系统以前装过其余的数据库,那么依赖包可能存在,能够用命令行测试下,若是不存在就进行安装。shell
[root@localhost ~]# yum list installed | grep libaio # 若是没有就进行安装 [root@localhost ~]# yum search libaio [root@localhost ~]# yum install libaio
[root@localhost ~]# cd /software/mysql-57/bin [root@localhost ~]# ./mysqld --user=mysql --basedir=/software/mysql-57 --datadir=/data/mysql --initialize
在执行上面命令后会出几行信息。信息的最后一行为:数据库
# root@localhost: 后面跟的是mysql数据库登陆的临时密码,各人安装生成的临时密码不同, # 将密码复制保存,后续登陆mysql要使用 [Note] A temporary password is generated for root@localhost: ad8#*>y(f4Cq
[root@localhost ~]# vim /software/mysql-57/support-files/mysql.server
主要是修改相应文件夹的位置,修改成以前建立的文件夹。
mysql.server
修改前vim
...... if test -z "$basedir" then basedir=/usr/local/mysql bindir=/usr/local/mysql/bin if test -z "$datadir" then datadir=/usr/local/mysql/data fi sbindir=/usr/local/mysql/bin libexecdir=/usr/local/mysql/bin else ......
修改后安全
...... mysqld_pid_file_path= if test -z "$basedir" then basedir=/software/mysql-57 bindir=/software/mysql-57/bin if test -z "$datadir" then datadir=/data/mysql fi sbindir=/software/mysql-57/bin libexecdir=/software/mysql-57/bin else ......
将修改好的文件放入系统服务文件夹内。这样每次就能够经过service mysqld start来启动服务。socket
[root@localhost ~]# cp /software/mysql/support-files/mysql.server /etc/init.d/mysqld [root@localhost ~]# chmod 755 /etc/init.d/mysqld
my.cnfide
[root@localhost ~]# vim /etv/my.cnf
修改前
[mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock # Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0 # Settings user and group are ignored when systemd is used. # If you need to run mysqld under a different user or group, # customize your systemd unit file for mariadb according to the # instructions in http://fedoraproject.org/wiki/Systemd [mysqld_safe] log-error=/var/log/mariadb/mariadb.log pid-file=/var/run/mariadb/mariadb.pid
修改后
[client] no-beep socket =/software/mysql-57/mysql.sock port=3306 [mysql] default-character-set=utf8 [mysqld] basedir=/software/mysql-57 datadir=/data/mysql port=3306 pid-file=/software/mysql-57/mysqld.pid skip-name-resolve socket = /software/mysql-57/mysql.sock character-set-server=utf8
其中skip_name_resolve。这个参数是禁止域名解析的。
由于新版本的mysql安全启动只认 /usr/local/mysql 这个路径。因此要进行相应的修改,一般有两种方法进行修改。
#local下没有mysql文件夹的话,新建一个 [root@localhost ~]# cd /usr/local/mysql [root@localhost ~]# ln -s /sofware/mysql-57/bin/myslqd mysqld
[root@localhost ~]# vim /software/mysql/bin/mysqld_safe #将全部的/usr/local/mysql改成/software/mysql-57,保存退出
启动mysql:
[root@localhost ~]# /etc/init.d/mysqld start 这样服务就能安全启动。
[root@localhost ~]# /software/mysql/bin/mysql -u root –p # 输入临时密码。临时密码就是以前root@localhost:后面的内容
## password('123456') 括号中的123456就是修改后的的密码,不过建议密码不要这么简单 >mysql set password=password('123456'); ## 对root用户进行受权,"%"表示在任何一台电脑上均可以登陆;也能够指定某台机器能够远程登陆; >mysql grant all privileges on *.* to root@'%' identified by 'root'; ## 刷新表 >mysql flush privileges;
操做到这里,MySQL的基本安装过程已经完成,此时mysql的登陆名root, 登陆密码123456
查看mysql服务的两种方式
[root@localhost ~]# ps -ef|grep mysql [root@localhost ~]# netstat -nlp|grep mysql
启动mysql服务
[root@localhost ~]# service mysql start 若是服务在启动状态,直接重启服务用如下命令: [root@localhost ~]# service mysql restart
关闭mysql服务
service mysql stop
其余MySQL相关的博文
MySQL5.7 经常使用用户操做
Centos7 firewall开放3306端口