centos 7.6通过tar.xz包安装mysql 8

参考文章:http://www.cnblogs.com/coderls/p/6848873.html

系统:centos 7.6    64位系统

mysql:mysql-8.0.18-linux-glibc2.12-x86_64.tar.xz       下载地址:https://dev.mysql.com/downloads/mysql/

注意:后面尝试安装mysql-8.0.19-linux-glibc2.12-x86_64.tar.xz最新版,发现建表时int、bigint类型默认没有长度,应该是隐藏了,然后我回退到8.0.18版本

1、下载mysql

本人选的linux generic 通用版 64位

 

2、把mysql传到服务器并解压到/usr/local

tar -xvf mysql-8.0.18-linux-glibc2.12-x86_64.tar.xz

 

mysql默认使用的basedir是/usr/local/mysql,但是我想装到其他地方

3、进入/var/local目录:

 

cd /var/local


4、修改文件夹目录名

mv ./mysql-8.0.18-linux-glibc2.12-x86_64 ./mysql

 

 

5、为centos添加mysql用户组和mysql用户(-s /bin/false参数指定mysql用户仅拥有所有权,而没有登录权限):

groupadd mysql
useradd -r -g mysql -s /bin/false mysql

 

6、进入安装mysql软件的目录,命令如下:

cd /var/local/mysql

 

7、修改当前目录拥有者为新建的mysql用户,命令如下:

chown -R mysql:mysql ./


8.安装mysql,命令如下:

# basedir参数用于指定解压后的文件夹路径
--basedir=/var/local/mysql

# datadir参数用于指定数据目录,mysql会自动创建该目录
--datadir=/data/mysql/mysqldb

# defaults-file参数指定配置文件路径,不指定默认其实就是/etc/my.cnf
--defaults-file=/etc/my.cnf 


# 创建日志文件
/data/mysql/log/mysqld.log
# 创建pid文件
/data/mysql/run/mysqld.pid


# 根目录给777权限
chmod 777 /data
# 给数据目录赋用户组
chown mysql:mysql -R /data/mysql
# 给数据目录赋权限
chmod 775 -R /data/mysql

# 不指定配置文件初始化
# 执行初始化,--user=mysql指定使用mysql这个用户去初始化
./bin/mysqld --user=mysql --basedir=/var/local/mysql --datadir=/data/mysql/mysqldb --initialize

# 指定配置文件初始化,先在目标目录创建配置文件my.cnf,使用下面第9点的配置
# 执行初始化,--user=mysql指定使用mysql这个用户去初始化
./bin/mysqld --user=mysql --basedir=/var/local/mysql --datadir=/data/mysql/mysqldb  --defaults-file=/etc/my.cnf --initialize


 

提示缺少libnuma.so.1这个文件,可能是因为系统是64位的,系统没有64位的这个so库,然后百度下载安装了这个文件

 

centos7是没有这个问题的

下载地址参考该贴:http://blog.csdn.net/lzwglory/article/details/54809519

libnuma.so.1下载地址:http://mirror.centos.org/centos/6/os/x86_64/Packages/numactl-2.0.9-2.el6.x86_64.rpm

下载后打命令安装

 

rpm -ivh /root/java//numactl-2.0.9-2.el6.x86_64.rpm

提示缺少libaio.so.1这个文件,安装libaio即可

yum install -y libaio

 

 

安装完成后;继续执行命令安装mysql

 

 

./bin/mysqld --user=mysql --basedir=/var/local/mysql --datadir=/data/mysql/mysqldb --initialize

安装成功后,记住随机密码

 

9.开启mysql服务,命令如下:

./support-files/mysql.server start

如果开启mysql服务失败,报什么路径找不到,那是因为mysql启动时,会读mysql的配置文件/etc/my.cnf,因为里面的初始路径不对

修改内容如下,datadir和socket都修改成mysql的安装目录下,增加[client]板块,用于命令行连接mysql数据库

[mysqld]
port=3306

# 设置mysql的安装目录
basedir=/var/local/mysql
# 设置mysql数据库的数据的存放目录
datadir=/data/mysql/mysqldb
# 指定服务端通信文件
socket=/data/mysql/mysql.sock
user=mysql

# 最大连接数
max_connections=2000
# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=10
federated

# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

# 设置忽略大小写
lower_case_table_names = 1

# 指定编码 utf8
# character-set-server=utf8
# 指定编码 utf8mb4
character-set-server=utf8mb4
# 默认使用“mysql_native_password”插件认证
default_authentication_plugin=mysql_native_password
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# utf8的排序规则
# collation-server=utf8_general_ci
# utf8mb4的排序规则
collation-server=utf8mb4_0900_ai_ci


# 开启ip绑定
bind-address = 0.0.0.0

# pid文件路径
pid-file=/data/mysql/run/mysqld.pid


# 指定服务id
server-id=101

# 同步主库时,跳过主键冲突、表已存在等错误代码如1062,1032,1060
# slave-skip-errors = 1062,1032,1060


[mysqld_safe]
log-error=/data/mysql/log/mysqld.log


[mysql]
# 设置mysql客户端默认字符集
# default-character-set=utf8
default-character-set=utf8mb4

[client]
#指定客户端连接mysql时的socket通信文件路径
socket=/data/mysql/mysql.sock
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
# 指定编码
# default-character-set=utf8
default-character-set=utf8mb4

 

 

如果依然启动不了提示“The server quit without updating PID file”

参考:http://www.xiazaiba.com/jiaocheng/10354.html  处理

应该是程序已经存在mysql进程

 

ps -ef|grep mysqld
kill -9 进程号


杀掉进程即可

 

注意:如果并不是程序中已经存在mysql进程。则基本是文件夹权限问题,由于初始化是用user为mysql的帐号初始化,所以必须保证mysql的数据目录,还有log目录,run目录,的拥有者为mysql

如下

# ls -al
drwxrwxr-x.  5 mysql mysql 4096 Jan 15 05:14 .
drwxrwxrwx. 15 root  root  4096 Jan 15 03:58 ..
drwxrwxr-x.  2 mysql mysql 4096 Dec 26 16:19 log
drwxrwxr-x  10 mysql mysql 4096 Jan 15 05:14 mysqldb
srwxrwxrwx   1 mysql mysql    0 Jan 15 05:14 mysql.sock
-rw-------   1 mysql mysql    7 Jan 15 05:14 mysql.sock.lock
drwxrwxr-x.  2 mysql mysql 4096 Jan 15 05:14 run

根目录也是mysql

#cd ..

#ls -al

drwxrwxr-x.  5 mysql  mysql     4096 Jan 15 05:14 mysql

 

10.将mysql进程放入系统进程中,命令如下:

cp support-files/mysql.server /etc/init.d/mysqld

11.重新启动mysql服务,命令如下:

service mysqld restart

12.使用随机密码登录mysql数据库,命令如下:

先把mysql的命令设置为环境变量

/etc/profile中添加语句

export PATH=$PATH:/var/local/mysql/bin

编译/etc/profile

source /etc/profile

登录mysql

mysql -u root -p

等待系统提示,输入随机密码,即可登录


13.进入mysql操作行,为root用户设置新密码(小编设为rootroot):

alter user 'root'@'localhost' identified by 'rootroot';

14.设置允许远程连接数据库,命令如下:

先选择数据库

use mysql

update user set user.Host='%' where user.User='root';

 

查看修改后的值

select user,host from user;

 

15.刷新权限,命令如下:

flush privileges;

 

16、开启3306防火墙端口,然后即可远程连接mysql

 

17、如果还是无法远程连接,查看/etc/my.cnf

找到bind-address = 127.0.0.1这一行
改为bind-address = 0.0.0.0即可

 

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,下面是安装mysql5.6.51的步骤: 1. 下载mysql5.6.51的安装,可以从官网或者镜像网站进行下载。 2. 解压安装,使用以下命令进行解压: ``` tar zxvf mysql-5.6.51.tar.gz ``` 3. 安装必要的依赖,使用以下命令安装: ``` yum install -y cmake ncurses-devel ``` 4. 创建mysql用户和组,使用以下命令创建: ``` groupadd mysql useradd -r -g mysql -s /bin/false mysql ``` 5. 进入mysql安装目录,使用以下命令进行编译: ``` cd mysql-5.6.51 cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ -DMYSQL_DATADIR=/usr/local/mysql/data \ -DWITH_INNOBASE_STORAGE_ENGINE=1 \ -DWITH_ARCHIVE_STORAGE_ENGINE=1 \ -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \ -DWITH_READLINE=1 \ -DWITH_SSL=system \ -DWITH_ZLIB=system \ -DENABLED_LOCAL_INFILE=1 \ -DDEFAULT_CHARSET=utf8 \ -DDEFAULT_COLLATION=utf8_general_ci ``` 6. 编译完成后,使用以下命令进行安装: ``` make && make install ``` 7. 初始化mysql数据库,使用以下命令进行初始化: ``` cd /usr/local/mysql ./scripts/mysql_install_db --user=mysql --datadir=/usr/local/mysql/data ``` 8. 修改配置文件,使用以下命令进行修改: ``` cp support-files/my-default.cnf /etc/my.cnf ``` 在/etc/my.cnf文件中添加以下内容: ``` [mysqld] datadir=/usr/local/mysql/data socket=/usr/local/mysql/mysql.sock user=mysql ``` 9. 启动mysql服务,使用以下命令进行启动: ``` /usr/local/mysql/support-files/mysql.server start ``` 10. 测试mysql服务,使用以下命令进行测试: ``` /usr/local/mysql/bin/mysql -uroot -p ``` 输入初始密码(在初始化mysql数据库时生成的),进入mysql命令行后,即表示安装成功。 希望我的回答能够帮助到您,如有疑问请随时提出。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值