CentOS下Mysql安装调试
2024-10-18 19:27:29
一、安装
- yum安装:yum install -y mysql-server mysql mysql-devel
- 设置自启动:chkconfig mysqld on
- 启动MySQL:service mysqld start
- 设置root密码:/usr/bin/mysqladmin -u root password "123456"
- 安装测试:mysql -uroot -p
- 设置允许远程访问:
mysql> grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;
mysql> flush privileges;
- 关闭端口3306防火墙:
iptables -A INPUT -p tcp -m tcp --sport 3306 -j ACCEPT
iptables -A OUTPUT -p tcp -m tcp --dport 3306 -j ACCEPT
service iptables save
service iptables restart
二、调试:
- 报错信息:ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'mysql'
错误原因:因为mysql数据库的user表里,存在用户名为空的账户即匿名账户,导致登录的时候是虽然用的是root,但实际是匿名登录的,通过错误提示里的''@'localhost'可以看出来;
解决办法:
1.关闭mysql
# service mysqld stop
2.屏蔽权限
# mysqld_safe --skip-grant-table
屏幕出现: Starting demo from .....
3.新开启一个终端输入
# mysql -u root mysql
mysql> delete from user where USER=''; //从用户表中删除匿名用户(空用户名的用户)
mysql> FLUSH PRIVILEGES; //使修改生效,否则如果关闭先前的终端,又会出现原来的错误
mysql> quit
- 报错信息:ERROR 1045 (28000): Access denied for user 'root'@'192.168.0.1' (using password: YES)
解决办法:配置mysql数据库跳过校验:
打开/etc/my.cnf,在mysqld下面添加skip-grant-tables,保存退出;
三、其他:
数据库备份(备份test数据库为test.sql):mysqldump -uroot -p123456 test >test.sql
mysqldump --default-character-set=utf8 --routines --events -hlocalhost -uroot -p123456 zclouddb_v2 > /home/tmp/backup.sql
(--routines:导出存储过程及触发器)
登陆mysql:mysql -uroot -p
切换数据库:use test; (没有的话先创建再切换,创建:create database test;)
数据库导入(导入test.sql):source /root/tmp/test.sql
数据库删除:use mysql;
DROP DATABASE test;
登陆mysql:mysql -uroot -p
切换数据库:use test; (没有的话先创建再切换,创建:create database test;)
数据库导入(导入test.sql):source /root/tmp/test.sql
数据库删除:use mysql;
DROP DATABASE test;
- 忽略大小写:修改/etc/my.cnf,在[mysqld]下加入一行:lower_case_table_names=1
- 设置最大字节数:修改/etc/my.cnf,在[mysqld]下加入一行:max_allowed_packet=4M
- 修改数据库密码:可使用数据库连接工具连接数据库,打开命令行界面,
>use mysql
>update user set password=password("new_pass") where user="root";
>flush privileges;
重启mysql:service mysqld restart; - 更改数据存储位置:
关闭数据库服务:service mysqld stop
移动数据文件(yum安装后数据文件位置默认为:/var/lib/mysql):mv /var/lib/mysql /home/data/
修改配置文件:vim /etc/my.cnf ,将datadir和socket两行内容修改为
datadir=/home/data/mysql 和socket=/home/data/mysql/mysql.sock
修改启动文件: vim /etc/init.d/mysqld,将get_mysql_option mysqld datadir "/var/lib/mysql"引号中内容修改为/home/data/mysql
启动数据库服务:service mysqld start
最新文章
- 用html5 js实现浏览器全屏
- iOS开发UI篇—核心动画(UIView封装动画)
- NOI上看到的几个小学奥数
- openstacksdk enable logging
- 在RedHat/CentOS下安装Docker(不升级内核)
- 161111、NioSocket的用法(new IO)
- MinGW-64 安装
- Android 内存溢出管理与测试
- Android UI性能优化详解
- ptr_fun学习笔记
- 用if做了一个简单的猜拳游戏(做的不好还请指点,谢谢!)
- Oracle SQL函数之转换函数To_char汇总
- zmodem协议的使用(SecureCRT)
- 给phpcms v9加入一个主题radio无线电button,它可反复使用,以创建不同的专题部分内容编辑器,添加一个主题来定义自己的领域
- 参考C++STL标准库中对了的使用方法
- Java图的邻接矩阵实现
- Ajax禁止重复提交
- hdu2062 Subset sequence----递推
- wiki
- redis日常使用汇总--持续更新
热门文章
- 将项目上传到bitbucket仓库
- static 和 extern
- 绝对好文C#调用C++DLL传递结构体数组的终极解决方案
- nginx1.9.4 +php 5.5.29+yii2.0配置手册
- 做了一个jquery插件,使表格的标题列可左右拉伸
- windows下mysql数据库表名大小写不敏感
- Linux 计算某文件夹下的所有文件的md5值
- Python学习笔记--Python字符串连接方法总结
- windows批处理(.bat)
- DNS域欺骗攻击详细教程之Linux篇