linux系统安装mysql数据库
下载解压
-
关闭linux防火墙
-
将下载好的mysql压缩文件放置在linux的/usr/local文件夹下,解压该压缩文件
tar -zxvf mysql-5.6.40-linux-glibc2.12-i686.tar.gz
将解压后的文件重命名为mysql
mv mysql-5.6.40-linux-glibc2.12-i686 mysql
-
创建mysql用户组及用户
groupadd mysql useradd -r -g mysql mysql
-
创建数据目录并赋予权限
mkdir -p /data/mysql #创建目录 chown mysql:mysql -R /data/mysql #赋予权限
-
MySQL配置的操作
vim /etc/my.cnf
内容如下:
[mysqld] bind-address=0.0.0.0 port=3306 user=mysql basedir=/usr/local/mysql datadir=/data/mysql socket=/tmp/mysql.sock log-error=/data/mysql/mysql.err pid-file=/data/mysql/mysql.pid #character config character_set_server=utf8mb4 symbolic-links=0 explicit_defaults_for_timestamp=true
初始化数据库
- 配置
/usr/local/mysql/bin/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/data/mysql
- 如果出现以下错误:
2020-04-28 14:40:54 [WARNING] mysql_install_db is deprecated. Please consider switching to mysqld --initialize 2020-04-28 14:40:55 [ERROR] Child process: /usr/local/mysql/bin/mysqldterminated prematurely with errno= 32 2020-04-28 14:40:55 [ERROR] Failed to execute /usr/local/mysql/bin/mysqld --bootstrap --datadir=/data/mysql --lc-messages-dir=/usr/local/mysql/share --lc-messages=en_US --basedir=/usr/local/mysql -- server log begin -- /usr/local/mysql/bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory -- server log end --
- 则使用以下命令
/usr/local/mysql/bin/mysqld --user=mysql --basedir=/usr/local/mysql/ --datadir=/data/mysql --initialize
- 如果出现以下问题
/usr/local/mysql/bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
- 则执行以下命令
yum install libaio*
- 完成后继续安装
/usr/local/mysql/bin/mysqld --user=mysql --basedir=/usr/local/mysql/ --datadir=/data/mysql --initialize
- 查看密码
MMgu8y(1i30)
cat /data/mysql/mysql.err
启动mysql,修改密码
- 先将mysql.server放置到/etc/init.d/mysql中
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
- 启动mysql
/etc/init.d/mysql start ps -ef|grep mysql
- 登录mysql
./mysql -u root -p #bin目录下
- 再执行下面三步操作,然后重新登录
SET PASSWORD = PASSWORD('123456'); ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER; FLUSH PRIVILEGES;
- 这时候你如果使用远程连接……你会发现你无法连接。
这里主要执行下面三个命令(先登录数据库)use mysql #访问mysql库 update user set host = '%' where user = 'root'; #使root能再任何host访问 FLUSH PRIVILEGES;
如果不希望每次都到bin目录下使用mysql命令则执行以下命令
ln -s /usr/local/mysql/bin/mysql /usr/bin