1.-bash: ls: command not found
应该是环境变量配置出现了问题,解决方法:
export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
2.用grant all privileges 给mysql授权时,出现ERROR 1290(HY000)错误
在用grant all privileges on *.* toroot@192.168.0.3 identified by "123"给mysql数据库,作远程访问授权时,出现错误:
ERROR 1290 (HY000):The MySQL server is running with the--skip-grant-tables option so it cannot execute this statement.
其解决办法如下:
呵呵:flush privileges;即可。
再用grant all命令。
3.启动mysql:
/etc/init.d/mysql restart
4.Linux:-bash: ***: command not found,系统很多命令都用不了,均提示没有此命令
解决办法:
先用:echo $PATH
查看path是否含有:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
如果没有
先用临时环境变量(重启后消失)
#export PATH=$PATH:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
然后就可以用那些命令了,进去修改永久环境变量:
1。修改profile文件:(所有用户)
#vi /etc/profile
加入:export PATH=$PATH:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
保存退出。
2。修改.bashrc文件:(单独用户)
#vi /~/.bashrc (‘~’代表:$HOME, .bashrc是每个用户家目录下都有的,ls -all)
加入:export PATH=$PATH:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
保存退出。
重启系统,搞定。
也可以不用重启,使用命令:#source .bashrc
5.mysql 启动错误-server PID file could not be found
ERROR! MySQL server PID file could not be found!
[root@centos var]# service mysqld stop
mysql
root
6.Linux下修改Mysql的用户(root)的密码
修改的用户都以root为列。
一、拥有原来的myql的root的密码;
方法一:
在mysql系统外,使用mysqladmin
# mysqladmin -u root -p password "test123"
Enter password: 【输入原来的密码】
方法二:
通过登录mysql系统,
# mysql -uroot -p
Enter password: 【输入原来的密码】
mysql>use mysql;
mysql> update user set password=passworD("test") where user='root';
mysql> flush privileges;
mysql> exit;
二、忘记原来的myql的root的密码;
首先,你必须要有操作系统的root权限了。要是连系统的root权限都没有的话,先考虑root系统再走下面的步骤。
类似于安全模式登录系统,有人建议说是pkill mysql,但是我不建议哈。因为当你执行了这个命令后,会导致这样的状况:
/etc/init.d/mysqld status
mysqld dead but subsys locked
这样即使你是在安全模式下启动mysql都未必会有用的,所以一般是这样/etc/init.d/mysqld stop,如果你不幸先用了pkill,那么就start一下再stop咯。
# mysqld_safe --skip-grant-tables &
&,表示在后台运行,不再后台运行的话,就再打开一个终端咯。
# mysql
mysql> use mysql;
mysql> UPDATE user SET password=password("test123") WHERE user='root';
mysql> flush privileges;
mysql> exit;
##本来mysql是不分大小写的,但是这个是修改的mysql中的mysql数据库的具体的值,要注意到。
7.mysql安装过程中出现错误ERROR 1820 (HY000): You must SET PASSWORD before executing this statement解决
8.Linux关闭防火墙命令
Linux关闭防火墙命令
1) 永久性生效,重启后不会复原
开启:chkconfig iptables on
关闭:chkconfig iptables off
2) 即时生效,重启后复原
开启:service iptables start
关闭:service iptables stop
3)在开启了防火墙时,做如下设置,开启相关端口,
修改/etc/sysconfig/iptables 文件,添加以下内容:
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
9.linux中mysql开启远程访问功能
10.在Linux开放3306端口
1.在/etc/sysconfig下找到iptables文件,打开后进行编辑,添加一行:
-A RH-Firewall-1-INPUT-m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
2.重新启动防火墙
/etc/rc.d/init.d/iptables restart
11.外网一直访问不了mysql,通过telnet ip 3306测试端口号也连接失败,后来发现原来是授权问题,在mysql中的user表发现有一个::1,后来将user.frm文件用本地的替换后,即可远程登录(当然确保3306已经开通,另外授权2)
12.mysql max_allowed_packet 设置过小导致记录写入失败
mysql根据配置文件会限制server接受的数据包大小。
有时候大的插入和更新会受max_allowed_packet 参数限制,导致写入或者更新失败。
查看目前配置
show VARIABLES like '%max_allowed_packet%';
显示的结果为:
+--------------------+---------+
| Variable_name | Value |
+--------------------+---------+
| max_allowed_packet | 1048576 |
+--------------------+---------+
以上说明目前的配置是:1M
修改方法
1、修改配置文件
可以编辑my.cnf来修改(windows下my.ini),在[mysqld]段或者mysql的server配置段进行修改。
max_allowed_packet = 20M
如果找不到my.cnf可以通过
mysql --help | grep my.cnf
去寻找my.cnf文件。
linux下该文件在/etc/下。
2、在mysql命令行中修改
在mysql 命令行中运行
set global max_allowed_packet = 2*1024*1024*10
然后退出命令行,重启mysql服务,再进入。
show VARIABLES like '%max_allowed_packet%';
查看下max_allowed_packet是否编辑成功