在Linux下安装数据库

装之前,先查看磁盘空间分布情况。df -h
将mysql解压后,安装在 /usr/local/mysql
在mysql目录下生成一个data目录
挂载
在Linux下安装数据库_第1张图片

rpm -qa | grep -i libc 初始化失败说明没有挂载
查找 ls /etc/my.cnf
rm /etc/my.cnf
删除my.cnf文件
创建用户组
[root@localhost mysql]# groupadd mysql
[root@localhost mysql]# useradd -r -g mysql -s /bin/false mysql
设置权限
[root@localhost local]# chown -R mysql:mysql mysql
[root@localhost local]# chmod 750 -R mysql(这两个赋权语句起的作用差不多,输一个就行)
[root@localhost local]# yum remove mariadb(发生睡眠进程问题 移除rm -f /var/run/yum.pid)
修改my.cnf文件vi /etc/my.cnf
跳过密码删除=1
lower_case_table_names = 0
(MySQL 在Linux下数据库名、表名、列名、别名大小写规则是这样的:1、 数据库名与表名是严格区分大小写的;2、 表的别名是严格区分大小写的;3、 列名与列的别名在所有的情况下均是忽略大小写的;4、 变量名也是严格区分大小写的;
MySQL 在Windows下都不区分大小写。)
其中 0:区分大小写,1:不区分大小写
[mysqld]
basedir = /usr/local/mysql/
datadir = /usr/local/mysql/data/
log-error = /usr/local/mysql/mysqld.log
port = 3306
socket = /tmp/mysql.sock
skip-grant-tables = 1
slow_query_log = 1
slow_query_log_file = slow.log
character-set-server = utf8mb4
collation-server = utf8mb4_general_ci
初始化
[root@localhost bin]# ./mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/
[root@localhost bin]# ./mysqld_safe --user=mysql &
在data下生成文件
此时进入uroot[root@localhost bin]# mysql -uroot -p
会产生错误bash: mysql: 未找到命令…
进入mysql目录下
复制mysql sever到cp ./support-files/mysql.server /etc/init.d/mysqld,
路径目录
chmod 755 /etc/init.d/mysqld 并赋权限!
ll /etc/init.d/mysqld 查看
[root@localhost mysql]# chkconfig mysqld on
[root@localhost mysql]# chkconfig --list mysqld
设置mysql开机自启动
修改profile文件,
vim /etc/profile
增加
!!这里e必须小写export PATH=$PATH:/usr/local/mysql/bin
source /etc/profile 使配置文件立即生效
[root@localhost mysql]# /etc/init.d/mysqld start //启动mysql
Starting MySQL SUCCESS!
/etc/init.d/mysqld status //查询mysql运行状态 直接重启mysql即可,没必要重启系统(reboot)
此时回到mysql bin目录下运行mysql -uroot -p
如果提示未找到命令,则是少一个软连接
添加ln -s /usr/local/mysql/bin/mysql /usr/bin
在Linux下安装数据库_第2张图片

备注:登陆成功后先修改 root 的密码
mysql> update user set authentication_string = password(‘root’),password_expired = ‘N’, password_last_changed = now() where user = ‘root’;改完密码要重启mysql!重启命令
systemctl restart mysql.service
SELECT user FROM mysql.user;(查询所有数据库用户)
此时去掉#skip-grant-tables = 1(先修改参数再重启,否则会提示ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’ (using password: NO)

如果重启后提示,如下截图
在Linux下安装数据库_第3张图片

查阅资料后知道了,应该使用已知的用户名和密码登陆
mysql -u root -p
进行远程登录授权
mysql> GRANT ALL PRIVILEGES ON . TO ‘root’@’%’ IDENTIFIED BY ‘666666’ WITH
GRANT OPTION;(远程登录授权若出现故障是因为没有设置mysql 密码)
Query OK, 0 rows affected, 1 warning (0.01 sec)
mysql> FLUSH PRIVILEGES;(特别注意每重启一次电脑mysql 都要重新授权远程连接)
Query OK, 0 rows affected (0.00 sec)
SELECT User, Host FROM mysql.user;用此命令可以显示mysql所有用户
导入包
[root@localhost ~]# mysql -uroot –p
mysql> source /opt/sg_bmzczp_2021-01-25.sql;
mysql> show databases;

关闭防火墙Linux命令
systemctl status firewalld
输入命令:systemctl stop firewalld,按回车键,就会关掉防火墙服务。
输入命令:systemctl status firewalld,按回车键,可以查看到防火墙服务已关掉。
Windows里 mysql我没有设置自启动,先启动服务再输密码。
使用命令 mysql -V查询版本号
或者进入MySQL系统使用此命令
在Linux下安装数据库_第4张图片

你可能感兴趣的:(mysql)