Linux下mysql安装
Linux 下mysql5.7安装
下载
mysql下载的方式有很多。
这里我推荐一个镜像下载
下面的示例以 mysql-5.7.34-linux-glibc2.12-x86_64.tar.gz 为准
上传
上传到指定的目录下。(比如我上传到的是 /usr/local/mysql/)
解压
tar -xvf mysql-5.7.34-linux-glibc2.12-x86_64.tar.gz
命名
mv mysql-5.7.34-linux-glibc2.12-x86_64 mysql
创建mysql用户组
groupadd mysql
如果用户组存在。那么就忽略这一步
存在的提示如下:
groupadd:“mysql”组已存在
修改权限
给mysql用户组添加权限
useradd -r -g mysql mysql
安装
创建数据目录
这里我在mysql目录下新建了一个data目录。data文件夹下还有一个mysql文件夹
mkdir -p /usr/local/mysql/data/mysql
赋值权限
chown mysql:mysql -R /usr/local/mysql/data/mysql
配置my.cnf
vi /etc/my.cnf
如果etc下面没有该文件, 那么就创建一个文件出来。
然后需要加上下面内容
[mysqld]
bind-address=0.0.0.0
port=3306
user=mysql
basedir=/usr/local/mysql/mysql
datadir=/usr/local/mysql/data/mysql
socket=/tmp/mysql.sock
log-error=/usr/local/mysql/data/mysql/mysql.err
pid-file=/usr/local/mysql/data/mysql/mysql.pid
#character config
character_set_server=utf8mb4
symbolic-links=0
explicit_defaults_for_timestamp=true
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
初始化数据库
进入mysql的bin目录
cd /usr/local/mysql/mysql/bin
初始化
./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/mysql/ --datadir=/usr/local/mysql/data/mysql/ --user=mysql --initialize
可能出现的异常
error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory 如果出现这个异常,说明服务器上面没有安装libiao这个包,需要我们去下载一下就好了
yum install -y libaio
查看密码
cat /usr/local/mysql/data/mysql/mysql.err
一般最后那几个就是密码
root@localhost: 密码
先将mysql.server放置到/etc/init.d/mysql中
cp /usr/local/mysql/mysql/support-files/mysql.server /etc/init.d/mysql
启功mysql
service mysql start
到这里说明mysql已经安装成功了。
登录
./mysql -u root -p
然后输入上面看到的密码
修改密码
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;
如果还是不行。查看防火墙是否打开。
如果打开则关闭掉即可。