1.检查下libaio.so.1的位置
[root@tdx ]# whereis libaio.so.1
libaio.so: /usr/lib64/libaio.so.1
如果没有找到该文件
(1).在线安装
[root@tdx ]# yum install -y libaio
(2).离线安装:
上传之后执行命令安装:
[root@tdx /]# rpm -ivh libaio-0.3.107-10.el6.x86_64.rpm
2.清空系统中的原有mariadb的配置文件(/etc/my.cnf)
[root@tdx /]# rm -rf /etc/my.cnf
3.准备mysql安装包
(1).切换目录
[root@tdx /]# cd /tdx/
(2).上传文件到此目录
mysql8.0.16-linux-glibc2.12-x86_64.tar.gz
(3).解压
[root@tdx /]# tar -zxvf mysql8.0.33-linux-glibc2.12-x86_64.tar.gz
(4).重命名
[root@tdx /]# mv mysql8.0.33-linux-glibc2.12-x86_64 mysql8.0.33
(5).切换目录
[root@tdx /]# cd mysql
(6).新建目录
[root@mysql]# mkdir data
[root@mysql]# mkdir log
[root@mysql]# mkdir pid
[root@mysql]# mkdir tmp
(7).新建配置文件
[root@mysql]# touch my.cnf
修改配置文件增加内容
[root@mysql]# vi my.cnf
增加内容
[mysqld]
port = 3306
basedir =/usr/local/mysql
datadir = /usr/local/mysql/data
log-error = /usr/local/mysql/log/mysqld.log
pid-file = /usr/local/mysql/pid/mysqld.pid
socket = /usr/local/mysql/tmp/mysql.sock
character-set-server=utf8
default-storage-engine=Innodb
max_connections=500
lower_case_table_names = 1
interactive_timeout=288000
wait_timeout=288000
net_read_timeout=900
net_write_timeout=900
max_allowed_packet=1073741824
log_bin_trust_function_creators=1
innodb_flush_log_at_trx_commit = 2
sync_binlog = 2000
key_buffer_size=8G
read_buffer_size=64K
sort_buffer_size=256K
myisam_max_sort_file_size=100G
innodb_buffer_pool_size=10G
innodb-buffer-pool-instances=8
innodb_read_io_threads=8
innodb_write_io_threads=8
innodb-file-per-table=true
sql_mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
4.创建新用户并授权
[root@tdx /]# adduser mysql
[root@tdx /]# chown -R mysql:mysql /usr/local/mysql
5.初始化数据库(可以实现数据库的初始化,而且会产生一个随机密码)
[[email protected] /]# bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --lower_case_table_names=1
选项说明:
–initialize 初始化(真正开始干活)
–user=mysql 以mysql用户的身份初始化数据库,产生文件都是mysql作为拥有者
–basedir=xxx mysql其安装目录,非常重要
–lower_case_table_names=1 不区分大小写,初始化不指定,必须重装才能解决,非常重要
6.启动MySQL数据库
[root@mysql]# cp support-files/mysql.server /etc/init.d/mysql
注意:默认情况下,GBLIC版本的数据库要求安装到/usr/local/mysql目录,其mysql.server脚本中对应的目录也是/usr/local/mysql,这会导致mysql无法启动。所以可以更改其basedir以及datadir两个变量
[root@mysql]# vim /etc/init.d/mysql
46行 basedir=/usr/local/mysql
47行 datadir=/usr/local/mysql/data
7.启动MySQL数据库(不能使用systemctl,只能使用service)
[root@mysql]# service mysql start
Starting MySQL.2023-06-25T04:58:08.333370Z mysqld_safe error: log-error set to ‘/usr/local/mysql/log/mysqld.log’, however file don’t exists. Create writable for user ‘mysql’.
ERROR! The server quit without updating PID file (/usr/local/mysql/pid/mysqld.pid).
[root@mysql]# touch /usr/local/mysql/log/mysqld.log
[root@mysql]# chown -R mysql:mysql /usr/local/mysql/log/mysqld.log
如果启动报错:
my_print_defaults: [Warning] World-writable config file ‘/usr/local/mysql/my.cnf’ is ignored.
Starting MySQL.my_print_defaults: [Warning] World-writable config file ‘/usr/local/mysql/my.cnf’ is ignored.
my_print_defaults: [Warning] World-writable config file ‘/usr/local/mysql/my.cnf’ is ignored.
ERROR! The server quit without updating PID file (/usr/local/mysql/data/localhost.localdomain.pid).
这个文件:'/usr/local/mysql/my.cnf’权限给的是 777,需要改成644,再次重新启动即可。
再次启动: [root@mysql]# service mysql start
Starting MySQL… SUCCESS!
8.登录数据库
[root@mysql]# ./bin/mysql -uroot -p -S /usr/local/mysql/tmp/mysql.sock
9.修改root密码
mysql> alter user root@localhost identified by ‘Datasw@2023’;
10.创建用户
mysql> create user test@‘%’;
mysql> alter user test@‘%’ identified with mysql_native_password by ‘Datasw@2023’;
mysql> GRANT ALL PRIVILEGES ON . TO ‘test’@‘%’ WITH GRANT OPTION;
mysql> flush privileges;
mysql> quit;
10.给mysql启动命令增加一个软连接,以便任意目录登录
[root@mysql]# ln -sf /usr/local/mysql/bin/mysql /usr/bin/
以上步骤全部执行成功,就可以使用客户端链接工具链接MySQL服务的数据库了
12.对目录给予权限
# chown -R mysql.mysql /data/mysql
5.可能是/usr/local/mysql/data/mysql.pid文件没有写的权限
解决方法 :给予权限,执行 “chown -R mysql:mysql /var/data” “chmod -R 755 /usr/local/mysql/data” 然后重新启动mysqld!
13.创建root用户对外链接:
mysql> create user root@‘%’;
mysql> alter user root@‘%’ identified with mysql_native_password by ‘Datasw@2023’;
mysql> GRANT ALL PRIVILEGES ON . TO ‘root’@‘%’ WITH GRANT OPTION;
mysql> flush privileges;
mysql> quit;
设置开机自启:
复制操作:如已操作不需要在设置以下的复制命令了*****
cp /usr/local/mysql/support-files/support-files/mysql.server /etc/init.d/mysql
复制后赋予权限:chmod +x /etc/init.d/mysql
添加到服务列表:chkconfig --add mysql
查看服务列表:chkconfig --list
设置开机自启: chkconfig --level 345 mysql on
最后重启服务器即可。使用reboot命令进行了执行。
15.关机命令
常用的命令:
halt 立即关机,poweroff 立即关机, shutdow -h now 立即关机(root用户使用)
shutdown -h 10 10分钟后自动关机.
shutdown命令:
shutdown命令安全的将系统进行关机,有些用户会使用直接断电的方式来关闭Linux,这是十分危险的.因为linux在其后台运行着许多的进程,所以强制关机可能会导致进程数据额定丢失,使得系统处于不稳定的状态,甚至在有的系统中会损坏设备,而在关机前使用shutdown命令,系统管理员,会通知所有登录的用户系统将关闭,并且login指令会被冻结﹐即新的用户不能再登录。直接关机或者延迟一定的时间才关机都是可能的﹐还可能重启。这是由所有进程〔process〕都会收到系统所送达的信号〔signal〕
shutdown执行它的工作是送信号〔signal〕给init程序﹐要求它改变runlevel。