Linux中相关操作命令以及MySql数据库相关的操作

一、Linux服务器上面修改root的密码
1、 登陆失败,mysqladmin修改密码失败

[code="java"]
# mysqladmin -u root password '123456'

mysqladmin: connect to server at 'localhost' failed

error: 'Access denied for user 'root'@'localhost' (using password: NO)'
[/code]



2、停止mysql服务

[code="java"]# /etc/init.d/mysqld stop[/code]
或者是service mysql stop

Shutting down MySQL.... SUCCESS!
3、安全模式启动

[code="java"]# mysqld_safe --skip-grant-tables &[/code]
如果是提示:
mysqld_safe A mysqld process already exists

就运行ps -A |grep mysql
然后杀掉mysql进程再运行

输入以上命令就可以进入到安全模式,就可以查看数据库、表以及修改root密码
5、进入到你需要的数据库

mysql> use mysql;
Database changed

6、update修改密码

mysql> update user set password=password("guxxxxxahyVh") where user='root' and host='localhost';

7、退出
mysql> quit

8、重新启动
[code="java"]# /etc/init.d/mysqld restart[/code]
或者是service mysql restart
9、查看
service mysql status


10、错误异常
I、
[ERROR] Can't start server: Bind on TCP/IP port: Permission denied
[ERROR] Do you already have another mysqld server running on port: 3308 ?

解决:需要关掉selinux
/usr/sbin/setenforce 0

getenforce 查看状态
II、
mysql is not running but lock exists

解决:
rm -rf /var/lock/subsys/mysql


11、赋予用户远程访问权限

grant all privileges on *.* to "root"@"%" identified by "密码";
flush privileges; 刷新

格式:grant 权限 on 数据库名.表名 to 用户@登录主机 identified by "用户密码";
@ 后面是访问mysql的客户端IP地址(或是 主机名) % 代表任意的客户端,如果填写 localhost 为本地访问(那此用户就不能远程访问该mysql数据库了)

12、远程能ping通远程linux服务器的ip,但是telnent不通数据库端口
解决:修改防火墙对数据库端口的拦截
vi /etc/sysconfig/iptables

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT

下面新增一行
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT


然后重启防火墙就可以远程访问了
service iptables restart



二、其他形式的错误情况分析
1、找不到sock 报错 :
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (111)
登陆的时候加上sock参数就OK了。
[code="java"]
# /usr/bin/mysql -uroot -p --socket=/opt/mysqldata/mysql.sock
[/code]
2、ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
出现这个问题的原因是没有生成 mysql.sock 文件,没有生成这个文件的原因是 /usr/local/mysql

chown -R mysql:mysql /usr/local/mysql

3、ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
重置密码即可解决:

alter user 'root'@'localhost' identified by '123123';


三、查看环境变量

1. 显示环境变量HOME


  $ echo $HOME

  /home/redbooks

2、设置环境变量

$ export HELLO="Hello!"

这种是临时环境变量,关闭shell时失效
3、使用env命令显示所有的环境变量

$ env
HOSTNAME=redbooks.safe.org

PVM_RSH=/usr/bin/rsh

......


4、设置永久变量
$ vi /etc/profile

进入到文件查看模式后
按 i 键进行编辑
编辑完成后按ESC
再输入(;wq)回车保存并退出!
5、让刚设置的变量马上生效
$ source /etc/profile


三、其他相关操作
1、安装telnet
yum -y install telnet

2、授权
chmod +x *.sh

3、增加单个用户局部环境变量
修改用户根目录下的.bashrc文件
修改编码:
export LANG=zh_CN.UTF-8

4、复制文件夹
cp -r A/B A1/
复制A目录下B文件都A1目录下
5、查看文件最后多少条数据
tail -n 30 connected.erl

6、查看文件最后多少条数据(动态显示最新数据)
tail -n -f 30 connected.erl

7、使用sftp命令连接目标服务器
sftp [email protected]

sftp [email protected]

回车提示输入密码,成功后就进入命令行sftp>
8、在sftp命令行模式下,使用put命令拷贝当地文件到目标服务器
put /home/tomcat/index.html /var/tomcat/backup/

将本地的index.html拷贝到sftp连接的服务器上面的/var/tomcat/backup/目录下
9、linux控制台远程连接到另一台linux服务器
ssh [email protected]

回车后提示输入密码,完成后就会连接到目标服务器,可以对目标服务器进行操作
10、解压zip文件
unzip -o -d /home/sunny myfile.zip

把myfile.zip文件解压到 /home/sunny/
-o:不提示的情况下覆盖文件;
-d:-d /home/sunny 指明将文件解压缩到/home/sunny目录下;
11、压缩文件夹为zip文件
zip -r myfile.zip ./*

将当前目录下的所有文件和文件夹全部压缩成myfile.zip文件,-r表示递归压缩子目录下所有文件
12、忘记root密码
打开终端机,输入:
sudo passwd root

会先提示输入当前具有管理员权限的用户密码,然后再次提示输入root的密码!
13、赋予root权限给指定用户
首先登录root
#usermod -g root johnny_l_q

14、切换数据库实例
export oracle_sid=FORDBTR

15、查看数据库定时任务
crontab

crontab -l
是对任务进行修改

你可能感兴趣的:(MySql,Linux)