https://downloads.mysql.com/archives/community/
我这里选择安装的版本是5.7.26
选择一个安装包进行下载
https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz
使用下载命令直接下载,或者自己下载后上传到服务器。
wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz
tar –zxvf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz
复制文件到 /usr/local/mysql (一般情况都是复制这个目录当然也可以自定义)
cp -r mysql-5.7.26-linux-glibc2.12-x86_64 /usr/local/mysql
groupadd mysql
useradd -g mysql mysql
更改/usr/local/mysql 文件夹所有者属性和对应权限
chown -R mysql:mysql /usr/local/mysql/
chown -R mysql /usr/local/mysql/
chmod -R 755 /usr/local/mysql/
yum install libaio (我用的是CentOS所以安装是用yum)
在当前目录(/usr/local/mysql/)创建一个data目录 用于存放数据库数据文件 (这个位置可以自定义)
mkdir data
注意修改data目录权限
chown -R mysql:mysql /usr/local/mysql/data
chown -R mysql /usr/local/mysql/data
chmod -R 755 /usr/local/mysql/data
初始化安装命令
bin/mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --initialize
*mysqld 在数据库软件目录的bin下面;我当前在/usr/local/mysql根目录所以执行mysqld时前面要加上bin目录。*
*basedir:数据库软件根目录,即解压后复制到的地方*
*datadir:数据库数据存储目录,这个就是前面mkdir data前面建立的*
记住最后几个字符生成的临时数据库登录密码记住是冒号后面的都是密码(如下图)
如果出现:initialize specified but the data directory has files in it. Aborting错误,请将data目录下的所有文件都删除,再进行初始化安装命令。
修改datadir、basedir等对应的目录。
配置文件里所有配置的文件位置必须真实存在,不存在的需要手动创建;并且赋予对应的文件权限。
vim /etc/my.cnf
[mysqld] datadir=/usr/local/mysql/data basedir=/usr/local/mysql socket=/tmp/mysql.sock user=mysql port=3306 character-set-server=utf8 # 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 skip-grant-tables #加入后无密码登录 [mysqld_safe] log-error=/var/log/mariadb/mariadb.log pid-file=/var/run/mariadb/mariadb.pid # # include all files from the config directory # !includedir /etc/my.cnf.d
var/log/mariadb/mariadb.log 这里必须要将mariadb.log文件创建好才行。
创建文件(我是已经在var/log/mariadb目录下了)
创建文件
touch mariadb.log
设置日志文件所有者为mysql和对应权限
chown -R mysql:mysql /var/log/mariadb/
chown -R mysql /var/log/mariadb/
chmod -R 755 /var/log/mariadb/
加入服务
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
开机启动
chkconfig mysql on
10-1) 启动mysql:
service mysql start
ps -ef | grep mysql #查看mysql服务进程
10-2) mysql -u root 回车进行mysql,然后进行数据库修改use表中root记录:
use mysql; update user set authentication_string=password("xxxxxx") where user="root"; #设置密码 update user set host='%' where user = 'root'; #允许远程连接 exit;
10-3) 进入配置文件,删除无密码登录
配置
vim /etc/my.cnf 然后删除掉skip-grant-tables
,重启服务
service mysql stop service mysql start
10-4) 使用密码登录
mysql -u root -p XXXX