共计 2275 个字符,预计需要花费 6 分钟才能阅读完成。
最近公司让整理一个 Linux 安装 MySQL 的文档。所以就整理了一下,这里将自己整理的详细文档做个笔记。
1、下载 Mysql。
https://dev.mysql.com/downloads/mysql/5.6.html#downloads
我这里选择安装的版本是 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
2、解压安装包
tar –zxvf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz
3、复制文件到安装目录
复制文件到 /usr/local/mysql (一般情况都是复制这个目录当然也可以自定义)
cp -r mysql-5.7.26-linux-glibc2.12-x86_64 /usr/local/mysql
4、添加 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/
5、安装 libaio 依赖包 如果已安装则跳过
yum install libaio (我用的是 CentOS 所以安装是用 yum)
6、初始化安装
在当前目录 (/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 目录下的所有文件都删除,再进行初始化安装命令。
7、修改配置文件
修改 datadir、basedir 等对应的目录。
配置文件里所有配置的文件位置必须真实存在,不存在的需要手动创建;并且赋予对应的文件权限。
vim /etc/my.cnf
8、创建日志文件并赋予对应权限
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/
9、将 mysql 加入服务并设置开机自启动
加入服务
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
开机启动
chkconfig mysql on
10、启动 Mysql 服务并连接数据库
service mysql start
看到 Starting MySQL. SUCCESS! 代表启动成功。至此安装启动完成。
连接数据库 使用临时密码登录
mysql -u root –p
登录后如果输入任何 mysql 命令都是提示:You must reset your password using ALTER USER statement before executing this statement.
如下图错误提示
如果是这种情况就需要强制修改用户口令。
alter user user() identified by “123456”; (此命令是在登录 mysql 后执行)
11、修改允许远程连接
允许远程连接例如 Navicat 等客户端登录。
以下命令都是在登录 mysql 成功后执行
update user set host=’%’ where user = ‘root’;
使修改的权限立即生效。
flush privileges;
注意,在真实的生产环境中,并不建议这么修改,因为安全风险太大。建议根据实际情况将 root 用户的 host 项修改为某个指定的 ip 地址,或仍然保持 localhost。
接下来就可以使用客户端连接了。
使用客户端连接注意要开启防火墙 3306 端口才行,如果是买的云服务器则需要在云服务器安全设置页面添加对应的进出端口。
: