安装mysql
sudo rpm -qa | grep mysql-community-server 检查是否安装过
sudo rpm -qa | grep mysql 检查是否安装过
通过wget方式获取yum包
wget http://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm
yum localinstall mysql80-community-release-el7-1.noarch.rpm
检查mysql源是否安装成功
yum repolist enabled | grep "mysql.*-community.*"
看到安装MySQL8.0安装完成后可到/etc/yum.repos.d/目录下看到:
mysql-community.repo
mysql-community-source.repo
两个文件,说明MySQL Yum仓库添加成功。
安装mysql
sudo yum install mysql-community-server
#sudo yum -y install mysql-server
完成之后数据库会有一个初始密码,可通过一下命令查看:
sudo grep 'temporary password' /var/log/mysqld.log
至此,MySQL8.0 安装完成,下面进行启动配置。
启动MySQL服务
systemctl start mysqld.service
systemctl enable mysqld.service
systemctl daemon-reload
systemctl status mysqld.service
systemctl stop mysqld.service
查看MySQL进程
ps -ef |grep mysql
修改初始密码
查看默认密码
sudo grep 'temporary password' /var/log/mysqld.log
使用默认密码登陆
mysql -uroot -p
MySQL8.0修改密码需要有大小写字母、数字、特殊字符组合
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';
或者
set password for 'root'@'localhost'=password('MyNewPass4!');
默认密码检查策略要求密码必须包含:大小写字母、数字和特殊符号,并且长度不能少于8位。
外网/客户端访问问题
服务端登陆MySQL,修改user表登陆用户的host。
mysql> use mysql;
mysql> show tables;
mysql> update user set host='%' where user='root';
然后就可以用navicat进行远程连接了
添加远程登录用户
默认只允许root帐户在本地登录,如果要在其它机器上连接mysql,必须修改root允许远程连接,
或者添加一个允许远程连接的帐户,为了安全起见,我添加一个新的帐户:
mysql> GRANT ALL PRIVILEGES ON *.* TO 'myadmin'@'%' IDENTIFIED BY 'DBadmin123456!' WITH GRANT OPTION;
mysql> flush privileges;
chkconfig --list # 查看开机启动的应用
sudo vim /etc/my.cnf
在[mysqld]下加入字符集,下面两个可以试试
default-character-set=utf8
character-set-server=utf8
然后按 esc :wq保存退出,重启服务 sudo systemctl restart mysqld.service
不进入mysql输入
mysql_secure_installation # 修改mysql密码
进入mysql输入
grant all on *.* to root@'%' identified by '123123' # 允许root远程连接
启动MySQL服务
sudo systemctl is-enabled mysqld.service
sudo systemctl start mysqld.service
sudo systemctl restart mysqld.service
sudo systemctl stop mysqld.service
设置开机启动
sudo systemctl enable mysqld.service
sudo systemctl reload mysqld.service
sudo systemctl disable mysqld.service
sudo systemctl status mysqld.service
------------------------------------------------------------------
systemctl说明
systemctl is-enabled iptables.service
systemctl is-enabled servicename.service #查询服务是否开机启动
systemctl enable *.service #开机运行服务
systemctl disable *.service #取消开机运行
systemctl start *.service #启动服务
systemctl stop *.service #停止服务
systemctl restart *.service #重启服务
systemctl reload *.service #重新加载服务配置文件
systemctl status *.service #查询服务运行状态
systemctl --failed #显示启动失败的服务
注:*代表某个服务的名字,如http的服务名为httpd
-----------------------------------------------------------------------
根据提示安装就可以了,不过安装完成后没有密码,需要重置密码
mysql -uroot -p
select user,host,password from mysql.user;
重置mysql密码
set password for root@localhost = password('');
set password for root@xxx = password('');
set password for root@127.0.0.1 = password('');
删除匿名用户
delete from mysql.user where user='';
flush privileges;
MySQL添加用户、删除用户与授权
创建一个数据库用户,密码123
create user yangjun identified by '123';
flush privileges;
CREATE DATABASE `abc` DEFAULT character set utf8 COLLATE utf8_general_ci;
为创建的用户授权
grant all privileges on abc.* to yangjun@localhost identified by '123';
使用新创建的数据库用户登录MySQL系统
mysql -uyangjun -p123
卸载mysql
sudo yum remove mysql*
sudo yum remove mysql-*
sudo rm -rf /var/lib/mysql
sudo rm /etc/my.cnf
sudo rm -rf /usr/lib64/mysql
sudo rm -rf /usr/share/mysql
其他
修改mysql root用户密码
1) 停止mysql服务 cmd --> net stop mysql
2) 在cmd下 输入 mysqld --skip-grant-tables 启动服务器 光标不动 (不要关闭该窗口)
3) 新打开cmd 输入mysql -u root -p 不需要密码
use mysql;
update user set password=password('abc') WHERE User='root';
4) 关闭两个cmd窗口 在任务管理器结束mysqld 进程
5) 在服务管理页面 重启mysql 服务
密码修改完成
终端登录数据库
mysql -h localhost -u root -proot
mysql -uroot -proot
停止mysql服务 net stop mysql
启动mysql服务 net start mysql
查询
查看当前数据库服务器中的所有数据库
show databases;
查看前面创建的mydb2数据库的定义信息
Show create database mydb2;
删除前面创建的mydb3数据库
drop database mydb3;
修改
查看服务器中的数据库,并把mydb2的字符集修改为utf8;
alter database mydb2 character set utf8;
查看当前使用的数据库
select database();
切换数据库
use mydb2;
操作数据表
当前数据库中的所有表
SHOW TABLES;
查看表的字段信息
DESC employee;
在上面员工表的基本上增加一个image列。
ALTER TABLE employee ADD image blob;
修改job列,使其长度为60。
ALTER TABLE employee MODIFY job varchar(60);
删除image列,一次只能删一列。
ALTER TABLE employee DROP image;
表名改为user。
RENAME TABLE employee TO user;
查看表格的创建细节
SHOW CREATE TABLE user;
修改表的字符集为gbk
ALTER TABLE user CHARACTER SET gbk;
列名name修改为username
ALTER TABLE user CHANGE name username varchar(100);
删除表
DROP TABLE user ;
网友评论