CentOS安装数据库
-
打开mysql官网 下载MySQL Yum Repository的安装包
CentOS可以使用下载链接下载https://repo.mysql.com//mysql80-community-release-el8-1.noarch.rpm
-
下载后使用
sudo yum install 安装包名
命令 安装mysql repository
-
此时若运行install mysql-community-server命令的话会默认安装8.0版本的mysql数据库,因为企业常用的为5.7版本,所有需要修改配置文件,安装5.7版本:
打开 /etc/yum.repos.d/mysql-community.repo 文件 将 Mysql 8.0 Community Server里面的enable的值改为0,意思是8.0版本不可用 然后添加5.7版本的相关配置代码:" [mysql57-community] name=MySQL 5.7 Community Server baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/7/$basearch/ enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
-
然后运行
sudo yum install mysql-community-server
安装mysql数据库
-
运行
sudo systemctl start mysqld
启动mysql数据库
ps -aux|grep -v grep|grep mysql
后台查找mysql进程 查看是否启动成功"
mysql --version 查看mysql版本
mycli
数据库语法高亮等显示工具:mycli
pip install mycli
mycli配置多行模式:
打开当前用户家目录下myclirc文件
sudo vim ~/.myclirc
找到multi_line项,改成True
使用mycli进入数据库:
mycli -u root -p
数据库密码
Ubuntu里的root用户密码是密码,所以可以通过系统的root用户直接访问到mysql服务器
CentOS里需要手动查看临时密码 查找password相关的内容
cat /var/log/mysqld.log |grep password
使用临时密码登录时使用命令会报错
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'show databases' at line 2
使用下面的命令修改用户密码
alter user root@localhost identified with mysql_native_password by '密码(字母大小写、数字、特殊字符组成)';
密码忘记时需要在etc文件里找到mysql的配置文件,不同版本配置文件名不同
centos7中mysql5.x版本为my.cnf
若文件中存在 [mysqld],则直接在下面添加
skip-grand-tables
即可
然后重新启动mysql:
sudo systemctl restart mysqld
此时可以不使用密码直接用root用户登录mysql
执行以下命令更改root用户密码:
update mysql.user set authentication_string=password('你的密码') where user=""root"";
mysql用户权限:
传递权限命令:
GRANT ALL PRIVILEGES on *.* to 'zhangsan'@'localhost' IDENTIFIED BY "1234" WITH GRANT OPTION;
GRANT ALL PRIVILEGES:赋予 所有的权限
*.*:所有数据库的所有表
'zhangsan'@'localhost':用户张三允许本机登录 localhost也可以换成%,意思是可以在任意主机登录
IDENTIFIED BY "1234" :张三的密码
WITH GRANT OPTION;:它的权限允许向下传递
ALL PRIVILEGES:
除了所有权限之外还可以指定权限:select/insert/update/delete/create/drop/index/alter/grant/references/reload/shutdown/process/file
flush privileges 刷新权限
修改用户密码:
update mysql.user set authentication_string=password('你的密码') where user="root";
或者:
alter user '用户名'@'主机' identified with mysql_native_password by '你的密码';
查看权限:
show grants; --->查看当前用户的权限
show grants for 'abc'@'localhost'; ---->查看用户abc的权限
回收用户权限
revoke all privileges on *.* from 'abc'@'localhost'; ---->回收用户abc的所有权限
revoke grant option on *.* from 'abc'@'localhost'; ---->回收权限的传递
数据库用户创建:
创建一个允许任意主机连接的账户
GRANT ALL PRIVILEGES on *.* to zhangsan@'%' IDENTIFIED BY '密码' WITH GRANT OPTION;
flush privileges;
8.0之后的版本创建用户的指令:
GREATE USER '用户名'@'主机' IDENTIFIED BY '密码'; ---->创建用户
GRANT ALL ON *.* TO '用户名'@'主机' WITH GRANT OPTION; ---->授权
删除用户
drop user 用户名@'%'
修改mysql配置文件:
Ubuntu配置文件位置:/etc/mysql/mysql.conf.d/mysqld.cnf
CentOS配置文件位置:/etc/my.cnf
将 bind-address=127.0.0.1代码注释掉(若代码存在时),让计算机允许mysql远程登录
远程连接命令:
sudo mysql -u用户名 -h远端服务器地址 -p 3306 -p