Linux安装MySQL
首先需要在Oracle官网下载MySQL,下载地址:https://dev.mysql.com/downloads/mysql/5.7.html#downloads
解压
tar -xvf mysql-5.7.26-linux-glibc2.12-x86_64.tar
解压后会出现tar.gz文件。继续解压gz文件
移动重命名
mv mysql-5.7.26-linux-glibc2.12-x86_64 /usr/local/mysql
创建mysql用户组和用户并修改权限
groupadd mysql
useradd -r -g mysql mysql
创建数据目录并赋予权限
mkdir -p /data/mysql #创建目录
chown mysql:mysql -R /data/mysql #赋予权限
配置my.cnf
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
进入mysql的bin目录
cd /usr/local/mysql/bin/
初始化
./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/data/mysql/ --user=mysql --initialize
初始化mysql时报如下错误:
xxxxx/mysql/bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory。
解决办法如下
Debian系统/Ubuntu系统
apt-get install libaio1 libaio-dev
Redhat/Fedora/CentOS
yum install libaio
使用yum install时cannot find a valid baseurl for repo:base/7/x86_64
出现这个问题是因为yum在安装包的过程中,虽然已经联网,但是没法解析远程包管理库对应的域名,所以我们只需要在网络配置中添加上DNS对应的ip地址即可。
vi /etc/sysconfig/network-scripts/ifcfg-eth0
DNS1=8.8.8.8
DNS2=4.2.2.2
systemctl restart network.service
查看密码
cat /data/mysql/mysql.err
启动mysql,并更改root 密码
先将mysql.server放置到/etc/init.d/mysql中
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
启动
service mysql start ps -ef|grep mysql
到这里说明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