使用rpm安装mysql相关包后 执行 mysqld --initialize初始化mysql总是提示mysqld: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory
你那个时openssl库的问题,百度一搜重设下openssl库不就完事了,非来提问
这是缺少numactl,这个时候如果是Centos就yum -y install numactl就可以解决这个问题了.
ubuntu的就sudo apt-get install numactl就可以解决这个问题了
操作步骤参考如下:
1.以root用户登录待安装的服务器,检查系统中是否安装过MySQL。# rpm -qa|grep -i mysql
如果未安装过MySQL,系统无屏显信息。
如果已安装过MySQL,系统显示已安装的MySQL安装包信息:
mysql-community-libs-5.7.16-1.sles11
libmysqlclient_r15-5.0.67-13.20.1
mysql-community-common-5.7.16-1.sles11
libqt4-sql-mysql-4.6.2-1.6.11
依次执行rpm -e --nodeps Package_name命令删除MySQL的各个安装包。其中,Package_name为上述屏显信息中的各个包名。
2.上传软件包并解压。a.以root用户通过sftp/ftp工具上传软件包mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz到/opt目录 。
b.进入opt目录,并解压缩软件包。# cd /opt/
解压之后删除/opt目录下的mysql安装包:
c.将解压后目录改名为mysql。# mv mysql-5.7.20-linux-glibc2.12-x86_64 mysql
3.安装和初始化MySQL。a.创建用户和用户组,并进行授权。i.添加oinstall组。# groupadd oinstall
ii.添加mysql用户。# useradd -d /home/mysql -s /bin/bash -g oinstall -m mysql
iii.把mysql目录授权给mysql用户。# chown -R mysql:oinstall /opt/mysql/
iv.创建mysql-data目录及子目录tmp。# mkdir /opt/mysql-data
v.把mysql-data目录及tmp子目录授权给oinstall组中的mysql用户。# chown -R mysql:oinstall /opt/mysql-data
vi.mysql-data目录的所属群组修改为oinstall。# chgrp -R oinstall /opt/mysql-data
b.新建并编辑my.cny文件。i.在mysql目录下新建并编辑my.cnf文件。# vi /opt/mysql/my.cnf
输入i进入编辑模式,修改文件内容为如下所示:
[mysqld]
basedir = /opt/mysql
datadir = /opt/mysql-data/workdbs
tmpdir = /opt/mysql-data/tmp/
port = 3306
#server-id = 100
socket =/opt/mysql/lib/mysql.sock
lower_case_table_names=1
character-set-server=utf8
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,STRICT_ALL_TABLES
log-error=/opt/mysql-data/log/mysql_3306.log
[mysql]
default-character-set=utf8
修改完成后按Esc退出编辑模式,执行:wq!保存并退出,然后执行如下命令,修改my.cnf文件的属主:
ii.拷贝my.cnf文件到etc目录下(若etc目录下有则替换)。# cp -fr /opt/mysql/my.cnf /etc/my.cnf
c.修改系统配置文件profile。i.编辑etc目录下的“profile”文件。# vi /etc/profile
输入i进入编辑模式,在文件末尾添加如下内容:
export PATH=/opt/mysql/bin:$PATH
export PATH=$PATH:/etc/init.d
添加完成后按Esc退出编辑模式,执行:wq!保存并退出。
ii.重新加载etc目录下的profile文件。# source /etc/profile
d.将mysql.server复制到/etc/init.d/ 。# cd /opt/mysql
e.初始化mysql。# cd /opt/mysql
命令执行后,如无错误,不会有显示信息,查看日志文件“/opt/mysql-data/log/mysql_3306.log”,获取临时密码。
2018-03-17T08:10:25.707388Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2018-03-17T08:10:25.707430Z 0 [Warning] 'NO_ZERO_DATE', 'NO_ZERO_IN_DATE' and 'ERROR_FOR_DIVISION_BY_ZERO' sql modes should be used with strict mode. They will be merged with strict mode in a future release.
2018-03-17T08:10:25.707434Z 0 [Warning] 'NO_AUTO_CREATE_USER' sql mode was not set.
2018-03-17T08:10:26.864589Z 0 [Warning] InnoDB: New log files created, LSN=45790
2018-03-17T08:10:27.068801Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2018-03-17T08:10:27.154126Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: a6a8df86-29ba-11e8-9a31-286ed48958fb.
2018-03-17T08:10:27.161747Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
2018-03-17T08:10:27.703898Z 0 [Warning] CA certificate ca.pem is self signed.
2018-03-17T08:10:28.083190Z 1 [Note] A temporary password is generated for root@localhost: Ro5EkYogC%rg
获取临时密码,如:Ro5EkYogC%rg。
f.创建软连接。i.将mysql的安装目录软连接到local下面。# ln -s /opt/mysql /usr/local/mysql
ii.将mysql.sock文件软连接到tmp下面# ln -s /opt/mysql/lib/mysql.sock /tmp/mysql.sock
ln -s /data/mysql/mysql-5.7.21/lib/mysql.sock /tmp/mysql.sock
4.注册并设置mysql.server为开机自启动。# systemctl enable mysql.server.service
按照提示信息继续执行如下命令:
5.启动并修改初始密码。a.在“/opt/mysql/support-files”目录下启动MySQL。# cd /opt/mysql/support-files
b.查看MySQL状态。# mysql.server status
系统显示如下类似信息表示MySQL状态正常:
MySQL running (70442) done
c.在“opt/mysql/bin”目录下执行以下命令登录MySQL。# cd /opt/mysql/bin
按照提示信息输入记录的临时密码。
Enter Password:
登录成功后系统显示如下类似信息:
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.21-enterprise-commercial-advanced
Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
d.修改root用户密码。> set password=password('Password');
其中,单引号中的Password由用户自定义。
e.赋予任何主机访问数据的权限。> grant all privileges on . to 'root'@'%' identified by 'Password' with grant option;
其中,单引号中的Password由用户自定义。
f.使修改生效并使用数据库。> flush privileges;
use mysql;
g.查看当前用户。> select host,user from user;
系统显示如下类似信息,表示数据库已正常安装和运行。
+-----------+-----------+
| host | user |
+-----------+-----------+
| % | root |
| localhost | mysql.sys |
| localhost | root |
+-----------+-----------+
3 rows in set (0.01 sec)
h.退出MySQL数据库。> exit
6.将/opt/mysql/bin/目录下的可执行程序都拷贝到/usr/bin目录下,方便后续执行这些命令(可选)。# cp /opt/mysql/bin/* /usr/bin
7.用Navicat Primium工具测试连接mysql客户端,以mysql安装在的主机IP和账号root/密码登录,连接成功即可。