Centos7 安装配置MySQL5.7
MySQL 简介是一个关系型数据库管理系统由瑞典MySQL AB创始人Michael Widenius公司开发2008被Sun收购10亿美金2009年Sun被Oracle收购。是一种关联数据库管理系统将数据保存在不同的表中而不是将所有数据放在一个大仓库内这样就增加了速度并提高了灵活性。是开源的所以你不需要支付额外的费用。是可以定制的采用了GPLGNU General Public License协议你可以修改源码来开发自己的MySQL系统。支持大型的数据库。可以处理拥有上千万条记录的大型数据库。支持大型数据库支持5000万条记录的数据仓库32位系统表文件最大可支持4GB64位系统支持最大的表文件为8TB。使用标准的SQL数据语言形式。可以允许运行在多个系统上并且支持多种语言。这些编程语言包括C、C、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等。离线安装官网下载打开官网点击DOWNLOADS https://www.mysql.com点击社区版服务器 MySQL Community Server选择适合自己的版本开始下载如果Windows 系统下安装MySQL详细教程见 : 安装详情解压安装程序将下载好的mysql文件上传到 Linux 服务器解压tar -xvf mysql-5.7.31-1.el7.x86_64.rpm-bundle.tar如图安装前卸载查看安装的 MySQLrpm -qa | grep -i mysql查看安装的 MariaDBrpm -qa | grep -i mariadb使用rpm -e --nodeps命令卸载[ MySQL / MariaDB ]通用删除残留文件[ 必须删除,否则启动不了MySQL ]删除rm -rf /var/lib/mysql下所有文件删除日志文件/var/log/mysqld.log执行查询命令检查依赖rpm -qa|grep libaiorpm -qa|grep net-tools如图 :[ 虚拟机有无需安装 ] - [ 阿里云服务器没有 ]执行安装命令在mysql的安装文件目录下执行必须按照顺序执行-i, --install 安装软件包-v, --verbose 提供更多的详细信息输出-h, --hash 软件包安装的时候列出哈希标记 (和 -v 一起使用效果更好)展示进度条开始安装rpm -ivh mysql-community-common-5.7.31-1.el7.x86_64.rpmrpm -ivh mysql-community-libs-5.7.31-1.el7.x86_64.rpmrpm -ivh mysql-community-client-5.7.31-1.el7.x86_64.rpmrpm -ivh mysql-community-server-5.7.31-1.el7.x86_64.rpm如图 - 可能会出现以下问题解决方案分析原因这是由于yum安装了旧版本的GPG keys造成的 解决办法后面加上 --force --nodeps 如 rpm -ivh MySQL-server-5.5.46-1.linux2.6.x86_64.rpm --force --nodeps 从 RPM 版本 4.1 开始在安装或升级软件包时会检查软件包的签名。CentOS安装rpm安装MySQL时爆出警告根本原因这是由于yum安装了旧版本的GPG keys造成的解决办法后面加上--force --nodeps即可rpm -ivh mysql-community-server-5.7.31-1.el7.x86_64.rpm --force --nodeps查看是否安装成功rpm -qa|grep -i mysql如图查看安装的MySQL版本mysqladmin --version如图安装后的目录结构参数路径解释备注–basedir/usr/bin相关命令目录mysqladmin mysqldump等命令–datadir/var/lib/mysql/mysql数据库文件的存放路径–plugin-dir/usr/lib64/mysql/pluginmysql插件存放路径–log-error/var/log/mysqld.logmysql错误日志路径–pid-file/var/run/mysqld/mysqld.pid进程pid文件–socket/var/lib/mysql/mysql.sock本地连接时用的unix套接字文件/usr/share/mysql配置文件目录mysql脚本及配置文件/etc/my.cnfmysql配置文件cat /etc/my.cnf服务启停相关脚本 :/etc/systemd/system/multi-user.target.wants/mysqld.service启动命令#启动systemctl start mysqld#关闭systemctl stop mysqld#重启systemctl restart mysqld#查看状态systemctl status mysqld设置开机启动#查看服务是否自动启动是enabled| 否disabledsystemctl list-unit-files|grep mysqld.service#设置开机启动如不是enabled可以运行如下命令设置自启动systemctl enable mysqld#重新加载服务配置systemctl daemon-reload#如果希望不进行自启动运行如下命令设置systemctl disable mysqld查看进程ps -ef | grep -i mysql配置密码设置root密码mysql安装完成之后在/var/log/mysqld.log文件中给root生成了一个默认密码。通过下面的方式找到root默认密码然后登录mysql。grep temporary password /var/log/mysqld.log连接 MySQL修改密码ALTER USER rootlocalhost IDENTIFIED BY 123456My!;–或者SET password FOR rootlocalhost password(123456My!);如图注意mysql5.7 默认安装了密码安全检查插件validate_password默认密码检查策略要求密码必须包含大小写字母、数字和特殊符号并且长度不能少于8位。否则会提示ERROR 1819 (HY000): Your password does not satisfy the current policy requirements错误如下图所示密码策略如果不需要密码策略在/etc/my.cnf文件中的最后添加如下配置禁用即可validate_password off如图重新启动mysql服务使配置生效systemctl restart mysqld修改密码SETpasswordPASSWORD(654321);忘记root密码在/etc/my.cnf文件 [mysqld] 的段中加上一句skip-grant-tables保存并且退出vimmysql -u rootmysqlUPDATE mysql.user SET authentication_string password(123456) WHERE Userroot AND Host localhost;mysqlFLUSH PRIVILEGES字符集查看字符集SHOW VARIABLES LIKE character%;默认latin1字符编码不支持中文, 如图 :设置字符集mysql配置文件vim /etc/my.cnf[client]default-character-setutf8[mysqld]character-set-serverutf8重启服务systemctl restart mysqld查看SHOW VARIABLES LIKE character%;修改已有数据库符集已生成的库表字符集如何变更--修改已创建数据库的字符集 mysqlALTERDATABASE数据库名CHARACTERSETutf8;--修改已创建数据表的字符集 mysqlALTERTABLE表名CONVERTTOCHARACTERSETutf8;客户端远程连接如果是远程服务器需要配置安全组, 开放3306端口本地 Navicat 连接远程的MySQL, 遇到问题, 别慌继续往下看设置远程访问权限默认root账户只能本机访问需要设置其远程访问权限或者创建普通用户进行授权访问。下面为放行root的远程连接权限的方式GRANT ALL PRIVILEGES ON *.* TO root% IDENTIFIED BY 密码 WITH GRANT OPTION;如图重启服务器systemctl restart mysqld防火墙设置远程访问前必须关闭防火墙或开放3306端口#查看防火墙状态 firewall-cmd--state #关闭防火墙 systemctl stop firewalld.service #禁用开机启动 systemctl disable firewalld.service启用防火墙并开放3306端口#查看防火墙状态 firewall-cmd--state #开启防火墙 systemctl start firewalld.service #设置开机自启 systemctl enable firewalld.service #设置开放的端口号 firewall-cmd--zonepublic--add-port3306/tcp--permanent #重启防火墙 firewall-cmd--reload #查看开放的端口 firewall-cmd--list-ports测试连接成功用户管理MySQL库中的user表host 表示连接类型%表示允许所有远程通过 TCP方式的连接IP 地址 如 (192.168.1.2,127.0.0.1)允许指定ip地址进行的TCP方式的连接机器名允许指定网络中的机器名进行的TCP方式的连接*::1IPv6的本地ip地址等同于IPv4的 127.0.0.1允许TCP方式的连接localhost本地方式通过命令行方式的连接 比如mysql -u xxx -p xxx 方式的连接。user 表示用户名同一用户通过不同方式链接的权限是不一样的。password 密码所有密码串通过 password(明文字符串) 生成的密文字符串。加密算法为MYSQLSHA1不可逆 。mysql 5.7 的密码保存到 authentication_string 字段中不再使用password 字段。select_priv , insert_priv等为该用户所拥有的权限。创建用户表示创建名称为 Lance 的用户密码设为 123456CREATEUSERLanceIDENTIFIEDBY123456;可以看到新添加的用户也是有远程连接数据库的权限的修改密码修改某个用户的密码--mysql5.5mysqlUPDATEmysql.userSETpasswordPASSWORD(1234)WHEREuserLance;--mysql5.7mysqlUPDATEmysql.userSETauthentication_stringPASSWORD(1234)WHEREuserLance;--必须用该命令才能生效。否则需重启服务。 mysqlFLUSHPRIVILEGES;修改用户修改用户名UPDATEmysql.userSETuser蓝山WHEREuserLance;删除用户不要通过delete from user u where user‘annie’ 进行删除系统会有残留信息保留。DROPuser蓝山;删除用户时需要执行FLUSH PRIVILEGES;让删除用户的操作及时生效权限管理普通的权限在user数据库中存储,特殊的权限在db数据库中存储授权语法GRANT权限1,权限2,…权限nON数据库名称.表名称TO用户名用户地址IDENTIFIEDBY连接口令;给用户授 怎删改查 的权限GRANTSELECT,INSERT,DELETE,UPDATEONdb_test.*TOLance%;3. 如果发现没有该用户则会直接新建一个用户, 并且授权, [*表示所有权限 ]GRANTALLPRIVILEGESON*.*TOjoe%IDENTIFIEDBY123;查看权限查看当前用户权限SHOWGRANTS;2. 查看某用户的全局权限SELECT*FROMmysql.userWHEREuserLance\G;收回权限语法mysqlREVOKE权限1,权限2,…权限nON数据库名称.表名称FROM用户名用户地址;收回 Lance 的 mysql 库下的所有表的插删改查权限REVOKESELECT,INSERT,UPDATE,DELETEON*.*FROMLance%;FLUSHPRIVILEGES;Lance用户需要重新连接才会生效3. 收回全库全表的所有权限REVOKEALLPRIVILEGESON*.*FROMLance%;FLUSHPRIVILEGES;Lance用户需要重新连接才会生效感谢阅读, 以上就是对 MySQL在Centos下安装使用的过程了, 如有什么更好的建议或方法 ,欢迎留言
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2415198.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!